私たちはASP.NET 3.5 Webアプリケーションに接続し、通常は大量のデータをダウンロードするFlexアプリケーションを持っています。 XMLをトランスポートとして考えると、アイテムごとに、例えば、2倍のメタデータを送信します。<Customer CustomerID=23/>
としてint値を転送する代わりに、<Customer><CustomerID>23</CustomerID></Customer>
を送信します。ここで、帯域幅の保護が問題になります。Flex 3.5 WebService圧縮(フレックス)
-
はFLEXがでGZipを読んで、圧縮されたHTTPレスポンスを収縮することはできません
- (だから、カントの使用は、それらのいずれか)私はいくつかの
WSCompression
のことを聞いた - が、それは私が私のホスティング環境では、あまりにも多くの依存関係を導入することを懐疑的になりましたWSE 3.0が必要です あまりにも多くの管理とオーバーヘッドが必要です。 WSE 3.0はプロダクションサーバーにインストールする必要のないdllライブラリのみですか?
WebService
属性をすべて書き直す必要がありますか?それとも、簡単な1回の設定ですか、多かれ少なかれ、誰もがFlexで動作するのですか? - Flexは動的にWebサービスを生成し、自動生成されたコードを多く使用しています。圧縮をサポートしたい場合は、多くのコードを書き直す必要がありますか?
私が考えることができる最も簡単な解決策は、不要なXMLタグを減らし、帯域幅を節約するためにそれらを属性に減らします。それを達成するための簡単な方法はありますか?私たちのクラスは50-70個以上のプロパティを持っていますが、私はそれが悪夢で各プロパティに属性を追加することは理解していますが、SOAPの場合、
質問:
とにかくWSE 3.0は何ですか、それは運用サーバーにインストールする必要がありますか? WSCompressionを有効にするには、各WebMethod属性のようにWebサービスコードに統合するための追加コードが必要です。属性にコードを追加する必要がありますか?
プロパティを属性にタグ付けする簡単な方法は、[SoapAttribute]のようなシンプルな形式で強制的にシリアライズすることです。タグの代わりに属性としてデータを変換し、FLEXで動作するのか、
SOAPには要素のみの標準形式がありますか、それとも属性をサポートできますか?
**決して** WSEを使用しないでください! WSEは廃止され、WCFに置き換えられました。 –
WSCompressionはWSEを介してのみサポートされています.WCFは、クライアントが.NET、FLEXではないため、WCFを使用できません。私たちは純粋なWebサービスを使いたいと思っており、マイクロソフトだけのコードに固執したくありません。 –
WCFは純粋なWebサービスを完全にサポートしています!何がMicrosoftのコードだけをサポートしていると思いますか?それはASMXとWSEの代わりです!それが相互運用できなければ、それはマイクロソフトが完全に相互運用性を放棄したことを意味するでしょう! –