|
DataSet, BinaryFormatter, Remoting - кто как проблемы решает.
|
|||
---|---|---|---|
#18+
Всем известно, что DataSet даже через BinaryFormatter сериализируется в XML. Из-за этого имеет раздутый в 4-10 раз трафик по сети и не малые затраты процессорного времени при Deserialization. Подход изложенный тут http://support.microsoft.com/default.aspx?scid=kb;en-us;829740 дает прекрасные результаты на малых DataSet(и по скорости и по трафику), но начиная с определенного обьема даннх (по моим наблюдениям с таблицы 100 полей на 1000 строк) экспоненциально растут затратраты процессорного времни при сериализации. Если вы сами сериализируете DataSet в поток, то проблема лечится установками форматтера. MyBinaryFormatter.TypeFormat = MyBinaryFormatter.TypeFormat | FormatterTypeStyle.XsdString Но как до этого докопаться в Remoting? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2004, 15:25 |
|
DataSet, BinaryFormatter, Remoting - кто как проблемы решает.
|
|||
---|---|---|---|
#18+
Вот глянь сюда, интересный эксперимент. Вывод неутешительный - ручная сериализация, если нужна скорость. Или я что-то не так понял и есть ещё какие-то проблемы с ремотингом? http://www.rsdn.ru/article/dotnet/DotNetSerial.xml Я сделал всё что мог, кто может пусть сделает лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2004, 11:07 |
|
DataSet, BinaryFormatter, Remoting - кто как проблемы решает.
|
|||
---|---|---|---|
#18+
To chto oni napisali - eto ruchnaya serializaciya v stroku. Tak chto o binary govorit ne nado. U nih tam ToString i ConvertTo - dlya chislovih dannih strashno neeffectivno, a dlya DateTime voobsche - hozhdenie po lezviyu nozha - chut lohanulsya s Encoding i privet. Algoritmi putevie, no oni ne sozdali [Serialized] klass, objekti kotorogo mozhno pihat cherez Remoting. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2004, 12:58 |
|
DataSet, BinaryFormatter, Remoting - кто как проблемы решает.
|
|||
---|---|---|---|
#18+
Ганновер, надеюсь, не другая галактика... В том смысле, что там можно достать такую книженцию... Как раз во втором томе - есть неплохое описание работы архитектуры .NET-Remotig: от создания производных от MarshalByRefObject классов, до настройки (путем переопределения базовых) "собственных" активаторов, проксей, каналов, форматтеров... (правда, на очень простеньких примерах). К сожалению, базовая объектная модель .NET-Remotig достаточно обширна и "на память" я вряд ли сейчас что-то воспроизведу оттуда, а в наст. момент книги этой под рукой нету... :-((. З.Ы. если потерпите пару деньков - постараюсь сделать "компилляцию" из примерчиков .NET-FrameWork SDK Documentation, сейчас на это просто нет времени... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2004, 13:36 |
|
DataSet, BinaryFormatter, Remoting - кто как проблемы решает.
|
|||
---|---|---|---|
#18+
Да толковая книга никогда не помешает... Я вот нарыл "лучшее «творение» в данном контексте" http://www.aspnetmania.com/Books/Book.aspx?ID=26 Понятия не имею на сколько она действительно хороша, но оглавление вызывает у меня лично повышенное слюновыделение :) Ежели кто читал - рецензию в студию! Я сделал всё что мог, кто может пусть сделает лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2004, 13:47 |
|
DataSet, BinaryFormatter, Remoting - кто как проблемы решает.
|
|||
---|---|---|---|
#18+
To chto Remoting mozhzno "perepisat" pod sebya ya znayu iz "Advanced .NET Remoting" ot Ingo Rammer, no zadacha stoit ne vtom kak perepisat (zasunut svoi Formatteri), a kak izmenit v TcpChannel uzhe imeyuschisya BinaryFormatter. Zachem zhe srazui iz puschki po vorob'yam palit. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2004, 13:56 |
|
DataSet, BinaryFormatter, Remoting - кто как проблемы решает.
|
|||
---|---|---|---|
#18+
TO M234 I vi tuda zhe - vi lichno knigi ot Wrox pokupali, nevazho na kakoi yazik perevedennie? Ya da i ne malo, no po sobstvennomu opitu skazhu - kaifa ot nih malo. Kstati sovet - ne pokupai perevod na nemezkii angliiskih knizhek - materitsya buidesh, takzhe kak i nemeckii MSDN - odna terminologiya chego stoit "Projektmappe", mogu esche kuchu nastoyaschi lyap privesti. posmotri zdes http://msdn.microsoft.com/library/deu/default.asp?url=/library/DEU/csspec/html/vclrfCSharpSpec_3_9.asp esli bez pol-litri zazbereshsya i krisha ne poedet. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2004, 14:26 |
|
DataSet, BinaryFormatter, Remoting - кто как проблемы решает.
|
|||
---|---|---|---|
#18+
I vi tuda zhe - vi lichno knigi ot Wrox pokupali, nevazho na kakoi yazik perevedennie? Я не туда же, я не рекомендую вам книжки читать, это был почти вопрос, т.к. я сам нуждаюсь в толковой книжке о ВэбСервисах и около. Ya da i ne malo, no po sobstvennomu opitu skazhu - kaifa ot nih malo. А вот за это спасибо, буду знать. posmotri zdes http://msdn.microsoft.com/library/deu/default.asp?url=/library/DEU/csspec/html/vclrfCSharpSpec_3_9.asp esli bez pol-litri zazbereshsya i krisha ne poedet. Нууу не знаю что здесь такого сташного, да конечно нижепреведённый отрывок может кого-угодно ввести в заблуждение, но больше ничего непонятного я не нашёл ...erstellt eine Instanz der Klasse A und eine Instanz der Klasse B. Diese Objekte werden für die... дело конечно не в том, что я так замечательно знаю немецкий язык(это к сожалению пока не так) , а в том наверно, что посещаю иногда школу и многие из этх понятий для меня почти родные, возможно даже, что некоторые из них я знаю ТОЛЬКО на немецком (!) так например на первом уроке по ООП нам было заявлено, что в ООП нет понятия Objekt(!), а есть понятие Instanz, а объект это типа просторечие, своего рода мода. И конечно слова типа "Projektmappe", мне всё равно что папка "мои документы" в русской версии виндовс - мне всё равно. Я сделал всё что мог, кто может пусть сделает лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2004, 15:01 |
|
DataSet, BinaryFormatter, Remoting - кто как проблемы решает.
|
|||
---|---|---|---|
#18+
A slona kak raz to i ne zametil Collection v smisle "spisok" eto po nemecki Auflistung. Collection v smisle "sbor" eto nikak ne Auflistung. Original MSDNSince the garbage collector is allowed wide latitude in deciding when to collect objects and run destructors, a conforming implementation may produce output that differs from that shown by the following code. Perevod MSDNDa der Garbage Collector seine Entscheidungen über die Auflistung von Objekten und das Ausführen von Destruktoren sehr flexibel treffen kann, können sich die Ausgabedaten einer anderen Implementierung von der Ausgabe des folgenden Codes unterscheiden. Sami nemci dolgo rzhali s takogo perevoda. to collect perevoditsya na nemeckii sammeln , a nemeckoe auflisten na english to index , to list ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2004, 16:12 |
|
DataSet, BinaryFormatter, Remoting - кто как проблемы решает.
|
|||
---|---|---|---|
#18+
Collection v smisle "spisok" eto po nemecki Auflistung. Collection v smisle "sbor" eto nikak ne Auflistung. А я извращенец, я когда читал, в уме перевёл это слово на русский как список и понял в данном контексте как сбор. :)) Современным электронным переводчикам, ещё очень далеко до устройства человеческих мозгов. У меня нет этому другого объяснения, главное правильно понять о чём речь, а не переводить слова. Как и говорил с чтением МСДН на немецком у меня проблем нет. :) А у сборщика мусора наверняка никакого "сбора" (набора) объектов нет, а есть их список или индекс этих объектов или указателей на них. В каждом языке свои тонкости, плюсуем сюда компьютерную специфику и нежелание переводчика в неё вникать и получаем то, что имеем :) Я сделал всё что мог, кто может пусть сделает лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2004, 16:41 |
|
DataSet, BinaryFormatter, Remoting - кто как проблемы решает.
|
|||
---|---|---|---|
#18+
Пардон за то что не в тему (дурацкое слово оффтоп !) - наболело... Но вообще я немцев за это уважаю и считаю что с них надо брать пример русским. У них ведь почти на любое слово откудо бы оно не пришло есть своё немецкое, которым они как правило и пользуются. В своё время Ломоносов провёл гигантскую работу и перевёл на русский туеву хучу иностранных(в основном немецких) слов, которыми был буквально наводнён русский язык. При этом приходилось ему и совершенно новые слова изобретать, по моему слово "шахта" так появилось. Посмотрите на русский сегодня... Ждём Ломоносова или как? Я сделал всё что мог, кто может пусть сделает лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2004, 17:14 |
|
DataSet, BinaryFormatter, Remoting - кто как проблемы решает.
|
|||
---|---|---|---|
#18+
a kak izmenit v TcpChannel uzhe imeyuschisya BinaryFormatter Извините за назойливость, но как говорил проф. Преображенский в известном произведении: "кто на ком стоял?"... :-)) Если вам надо создать TcpChannel с другим форматтером (не BinaryFormatter ), можно ли это понимать так, что вам нужен SoapFormatter ? Тогда делайте так: Код: plaintext 1.
А если все-таки вы хотите изменить стандартный BinaryFormatter , (который "некрасиво" сериализует DataSet в XML), и "подсунуть" его в TcpChannel вместо одного из 2-х "стандартных" ( BinaryFormatter , SoapFormatter ), то как понимать фразу "zadacha stoit ne vtom kak perepisat (zasunut svoi Formatteri)" ? З.Ы. вобщем, "идея" (ИМХО) должна быть ясна - в конструктор TcpChannel нужно передать ссылку на объект, которые реализует интерфейс IClientFormatterSinkProvider , информацию по интерфейсу наверняка можно найди в MSDN или в SDK Documentation... Удачи!! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2004, 12:41 |
|
|
start [/forum/topic.php?fid=19&tid=1398156]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
185ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 289ms |
0 / 0 |