5

私は安らかなサービスをアップグレードしており、現在 DataContractSerializer を使用して応答を出力しています。以前のバージョンでは、XmlSerializer を使用したカスタム シリアル化を使用していました。そのバージョンでは属性を多く使用していましたが、DCS ではまったく使用しなかったため、gzip で圧縮した場合、新しい応答サイズは以前のバージョンのサイズの 1.5 倍になっています。(または、圧縮されていない場合は約 3 倍のサイズ)。

私の質問は、DCS が本当に XmlSerializer よりも高速でスケーラブルなソリューションになるかどうかです。

4

2 に答える 2

4

より高速でスケーラブルになると誰が言いましたか? それが DCS の重要な利点の 1 つだったことを覚えていません。DCS はより高速にシリアル化できると誰かが言ったことがありますが、多くの場合、送信時間はシリアル化時間よりも小さくなります。シリアル化を 10% 高速化し、より大きなペイロードを生成すると、実際には全体的なレイテンシが 20% 増加する可能性があります。

サイズが気に入らない場合は、DataMember 属性で短い名前を使用して、元の XML の縮小を試みることができます。ただし、このアプローチは、XmlElement 属性を使用して、XmlSerializer でも機能します。DCS では、要素と属性のサイズの経済性により、最小サイズという点で常に XmlSerializer に不利になります。

于 2009-08-20T18:15:14.090 に答える