Сериализация сборки, почему? - PullRequest
1 голос
/ 06 июля 2010

Я читал, что сериализация сборок (sgen.exe) может улучшить производительность. Что именно обеспечивает улучшение? Это метаданные о типах? Я думал бы, что это будет доступно через размышление! так почему это требуется в отдельной сборке?

1 Ответ

2 голосов
/ 07 июля 2010

Сериализация сборок Data.XmlSerializers.dll, которая повышает производительность клиентов, использующих прокси-серверы веб-служб XML для связи с серверами, описана в http://msdn.microsoft.com/en-us/library/bk3w6240.aspx.

Если вы этого не сделаете, то же самое будет сделано при первом использовании XmlSerializer. В блоге http://blogs.msdn.com/b/billwert/archive/2008/02/23/use-of-sgen-exe-to-avoid-common-xmlserializer-performance-pitfalls.aspx описана дополнительная настройка в <system.diagnostics> области файла application.config, чтобы узнать больше, что делают XmlSerializer в фоновом режиме.

В Visual Studio есть настройка параметров на вкладке «Сборка» параметров проекта (см. http://www.eggheadcafe.com/tutorials/aspnet/8eb0e68f-5496-4363-9cb9-dd68447ba187/xml-serializer-generator.aspx)., поэтому вам не нужно использовать sgen.exe вручную.

Чтобы лучше понять, что такое sgen.exe, вы можете загрузить версию sgen.exe с открытым исходным кодом: xgenplus http://xgenplus.codeplex.com/.

Я рекомендую вам также прочитать SGEN XMLSerializer - должен быть добавлен файл .XMLSerializers.dll в качестве ссылки на текущий проект или в GAC? .

Если вы выполните поиск в google для XmlSerializer и sgen, вы найдете всю информацию и даже больше на первой странице результатов поиска.

...