|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
Remoting-клиент (серверная сборка крутится под IIS (http-канал), клиент (пока) на этом же компе) при попытке сделать запрос (результат приходит в виде DataSet) в какой-то момент валится. Точнее, необходимо получить несколько датасетов, три получаю без проблем, на 4-ом программа зависает. Иногда без проблем могу получить все (пробовал на 10 датасетах). Но тут 50 на 50 - или пройдет или нет. Вопрос - есть ли какое ограничение на кол-во датасетов в программе? (кстати, вместо DataSet пробовал возвращать и DataTable - программа так же зависала). Может нужны какие-то очистки памяти? Или наоборот проверять возможность ее резервирования? PS: в датасет попадает выборка из базы данных. Точно знаю (проверял), что на момент возвращения из функции сборки на сервере этот датасет успешно инициализировался. В сборке реализован интерфейс: Код: plaintext 1. 2. 3.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2007, 18:10 |
|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
>Владимир Б. > ... Точнее, необходимо получить несколько датасетов, ... Попробуй в качестве эксперимента передавать byte[]. Т.е. сериализуй DataSet явно в binary, руками. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2007, 01:52 |
|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
А можно пример? - как это будет выглядеть в GetDataSet() в сборке и в самом клиенте. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2007, 09:44 |
|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
MarshalByRefObject сознательно сделан? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2007, 09:48 |
|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
Если я правильно понимаю суть MarshalByRefObject - у клиента только интерфейс с описанием вызываемых методов и клиент не сможет достать внутренний код сборки, находящейся на серваке, в котором в том числе указаны параметры для доступа к SQL Server и т.п. То бишь MarshalByRefObject (в совокупности с интерфесом) дает мне некую гарантию, что сервак не взломают. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2007, 10:05 |
|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
А проблема состоит именно в зависании, т.е. никаких исключений не сыпется? Время жизни у экземпляра RemoteClass как-то контролируете? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2007, 11:27 |
|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
Владимир Б.Если я правильно понимаю суть MarshalByRefObject - у клиента только интерфейс с описанием вызываемых методов и клиент не сможет достать внутренний код сборки, находящейся на серваке, в котором в том числе указаны параметры для доступа к SQL Server и т.п. То бишь MarshalByRefObject (в совокупности с интерфесом) дает мне некую гарантию, что сервак не взломают. Такую гарантию тебе даже дядюшка Били даст =)) а MarshalByRefObject позваляет осуществлять взаимодействие между доменами приложений ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2007, 11:38 |
|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
>Владимир Б. >А можно пример? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.
С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2007, 12:05 |
|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
ВМоисеев Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
Владимир, у меня к Вам вопросы: 1. Вышеприведенный код относится к сборке? или что-то к клиенту? 2. Если посмотрим в код GetDataSet(), то в нем есть только binDeSerObject(). Ниоткуда (ни в GetDataSet, ни в binDeSerObject) нет запуска binSerObject() и ObjectToXms() - они для примера чего приведены? 3. В binDeSerObject() используется ДЕсериализация - это правильно? Мы же еще ничего не сериализовали. Повторяю - познаний в этих областях у меня мало, может я чего упустил? maybeleoА проблема состоит именно в зависании, т.е. никаких исключений не сыпется? Время жизни у экземпляра RemoteClass как-то контролируете? Да, никаких исключений (к сожалению :) - были бы они, можно было бы на что-то опираться). Время жизни - пожизненное (надеюсь), определяю его так (в сборке): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2007, 13:10 |
|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
Уточню еще (может подробность какая подскажет ответ?): У меня VS2005, FrameWork 2.0. На форме использую TabControl (2 вкладки - 1. Обычный режим, 2. Remoting. На вкладке "Remoting" тоже есть TabControl, 5 вкладок, на каждой по одной DataGridView). Переключившись в "Remoting" из сборки вытягиваю один DataSet, в который я положил 5 таблиц (через селекты из SQL Server). После этого инициализирую на каждой вкладке DataGridView соотв. таблицей. После этого я хожу по вкладкам и смотрю данные в таблицах. Проблема в том, что переходя с вкладки на вкладку (очередность не играет роли, сбой происходит в любой момент - и на 2-ой вкладке и/или на 5-ой) у меня зависает прога, появляются часики. Повторюсь, что в момент переключения вкладок для просмотра данных? из remoting-соединения я уже вытянул DataSet и распихал DataTable по DataGridView. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2007, 13:37 |
|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
Прочитал, что зависание в WinForms могут вызвать два одновременно идущих потока. Специально в коде я их не создаю. Но может в этом направлении копать? PS: Уже точно выяснил, что зависание именно в программе клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2007, 15:44 |
|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
>Владимир Б. >В binDeSerObject() используется ДЕсериализация - это правильно? Извините, вкралась ошибка. Должно быть так: return binSerObject(MyDataSet).ToArray(); С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2007, 15:54 |
|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
>Владимир Б. >Уточню еще ... .Net Remoting здесь не причём. Похоже ошибка где-то в программе. Создайте один! static class (global) и разместите здесь запрашиваемый DataSet. А лучше, заполняйте таблицы глобального DataSet, предварительно очистив их (Clear) записями из полученного DataSet. А все гриды статично настройте на таблицы глобального DataSet. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2007, 16:07 |
|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
Мимоходом. По поводу DataTable.Clear. Как-то на миллионе записей заметил, что метод сей выполняется очень долго, с тех пор, минуя Clear вызываю сразу Dispose. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2007, 16:25 |
|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
>vagner забывший пароль > ... Как-то на миллионе записей заметил ... Миллион записей в локальной таблице клиентского приложения это круто. Только не говорите, что у Вас медленно работает DataGridView. Потом, у меня есть предположение, что программа Владимир Б., обрашается к компонентам DataSet уже уничтоженным, но еще не построенным. Поэтому и предлагаю оставить структуру DataSet const, а менять только содержимое. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2007, 16:43 |
|
Существует ли ограничение на кол-во DataSet в Remoting?
|
|||
---|---|---|---|
#18+
Ну, допустим, миллион записей там оказались принудительно, тестировался механизм кастомной сериализации. На реальных объемах мы как раз и не замечали длительность этой операции (Clear), думаю, что и большинство остальных участников форума этого не замечали, поэтому и (заметьте, мимоходом) сделал это замечание. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2007, 17:08 |
|
|
start [/forum/topic.php?fid=19&fpage=35&tid=1398024]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 247ms |
total: | 391ms |
0 / 0 |