私のクライアント側コードは、昔ながらの .asmx Web サービスを呼び出します。パフォーマンスを向上させるために、bin/release フォルダーで実行される次のコマンドを使用して、シリアル化アセンブリを事前に生成しました。
for %%a in (*.dll) do sgen /assembly:%%a
基本的に、すべての .dll ファイルをループしてそれらを呼び出しsgen /assembly:foo.dll
ます。このコマンドの後、各アセンブリには foo.XmlSerializers.dll アセンブリがあります。
ただし、コードをプロファイリングすると、コードにまだパフォーマンス ヒットがあり、シリアル化アセンブリがコンパイルされていることがわかります (ProcMon によって検証されたように、事前に生成されたアセンブリは完全に無視されます)。
事前に生成されたシリアル化アセンブリを使用しないのはなぜですか?