1 votes

La sérialisation de l'assemblage, pourquoi ?

J'ai lu que la sérialisation des assemblages (sgen.exe) peut améliorer les performances. Qu'est-ce qui apporte exactement cette amélioration ? S'agit-il de métadonnées sur les types ? J'aurais pensé que cela serait disponible par la réflexion ! alors pourquoi est-ce nécessaire dans une assemblée séparée ?

2voto

Oleg Points 136406

Les assemblages de sérialisation Data.XmlSerializers.dll qui améliorent les performances des clients qui utilisent des proxies de services Web XML pour communiquer avec les serveurs sont décrits sous la rubrique http://msdn.microsoft.com/en-us/library/bk3w6240.aspx .

Si vous ne le faites pas, le même travail sera effectué lors de la première utilisation de XmlSerializer . Dans le blog http://blogs.msdn.com/b/billwert/archive/2008/02/23/use-of-sgen-exe-to-avoid-common-xmlserializer-performance-pitfalls.aspx est décrit comme un paramètre supplémentaire dans <system.diagnostics> du fichier application.config pour en savoir plus sur ce qu'il faut faire. XmlSerializer en arrière-plan.

Dans Visual Studio, il existe un certain nombre de paramètres dans l'onglet "Build" des paramètres du projet (voir http://www.eggheadcafe.com/tutorials/aspnet/8eb0e68f-5496-4363-9cb9-dd68447ba187/xml-serializer-generator.aspx ). Il n'est donc pas vraiment nécessaire d'utiliser sgen.exe manuellement.

Pour mieux comprendre ce que fait sgen.exe, vous pouvez charger une version open source de sgen.exe : xgenplus http://xgenplus.codeplex.com/ .

Je vous recommande également de lire http://stackoverflow.com/questions/2543641/sgen-xmlserializer-should-be-xmlserializers-dll-added-as-a-reference-to-the-cu .

Si vous faites une recherche dans google pour XmlSerializer et sgen, vous trouverez toutes les informations et même plus sur la première page des résultats de la recherche.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X