System.Data.DataTable.Select(...) вешается.
От: sDvn Россия http://sdvn.livejournal.com/
Дата: 20.08.09 09:44
Оценка:
Есть непонятная проблема с DataTable. У меня есть в памяти целый DataSet с набором таблиц, в отдельном потоке приходит инфа по сети и складывается туда. В других тредах программы данная инфа запрашивается. Все сделано через ReadWriteLock, что по идее не должно приводить к коллизии тредов. Все вполне хорошо, но с достаточно переодичностью программа намертво вешается на Select запросах в таблицах. При определенных действиях пользователя количество запросов может достигать 1000, а то и больше.

Вопрос в студию: что делать? Или кто сталкивался с тем, что DataTable.Select вешается?
Таинство смерти нам пророчит успокоение.
dataset datatable select
Re: System.Data.DataTable.Select(...) вешается.
От: TK Лес кывт.рф
Дата: 20.08.09 09:50
Оценка:
Здравствуйте, sDvn, Вы писали:

D>Есть непонятная проблема с DataTable. У меня есть в памяти целый DataSet с набором таблиц, в отдельном потоке приходит инфа по сети и складывается туда. В других тредах программы данная инфа запрашивается. Все сделано через ReadWriteLock, что по идее не должно приводить к коллизии тредов. Все вполне хорошо, но с достаточно переодичностью программа намертво вешается на Select запросах в таблицах. При определенных действиях пользователя количество запросов может достигать 1000, а то и больше.


D>Вопрос в студию: что делать? Или кто сталкивался с тем, что DataTable.Select вешается?


Видно что-то не досинхронизировали...
Жмите кнопку Break в отладчике и смотрите на stack trace — там будет видно где именно оно повесилось.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: System.Data.DataTable.Select(...) вешается.
От: _FRED_ Черногория
Дата: 20.08.09 09:54
Оценка:
Здравствуйте, sDvn, Вы писали:

D>Вопрос в студию: что делать?


Подключить отладчик в момент "виса" и посмотреть. Возможно, не помешает подключить и исходники
Автор: _FRED_
Дата: 10.11.08
.

D>Или кто сталкивался с тем, что DataTable.Select вешается?


ИМХО, очень похоже на то, что криво сделана синхронизация потоков. За пару минут нашлось ACorns.Debugging — The .Net Deadlock Detector.
Help will always be given at Hogwarts to those who ask for it.
Re[2]: System.Data.DataTable.Select(...) вешается.
От: sDvn Россия http://sdvn.livejournal.com/
Дата: 20.08.09 10:38
Оценка:
Здравствуйте, TK, Вы писали:

TK>Видно что-то не досинхронизировали...

TK>Жмите кнопку Break в отладчике и смотрите на stack trace — там будет видно где именно оно повесилось.

Пробовал. Все треды находятся в Sleep-е, только один на .Select(...).
Таинство смерти нам пророчит успокоение.
dataset datatable select
Re[3]: System.Data.DataTable.Select(...) вешается.
От: TK Лес кывт.рф
Дата: 20.08.09 10:44
Оценка:
Здравствуйте, sDvn, Вы писали:

TK>>Видно что-то не досинхронизировали...

TK>>Жмите кнопку Break в отладчике и смотрите на stack trace — там будет видно где именно оно повесилось.

D>Пробовал. Все треды находятся в Sleep-е, только один на .Select(...).


Ну и смотрите что он там в селекте делает. исходный код framework доступен (как скачать уже тут написали) — все карты у вас на руках.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.