コンテキスト:現在、Windows 8 Storeアプリケーション用のOdataでWCF Data Services 5.0を使用しています。オタタ圧縮 - サポートはありますか? (WCF Data Services 5.0 for WinRT)
今日、私のサービスからODataを圧縮し、サポートを取り巻く多くの問題に取り組んできました。
バイナリシリアル化はサポートされていません。
JSONは
のJSON Liteはまだ中のgzipリクエストを追加する
を解除されていない(ライブラリー 'とは、アプリケーション/ JSONは' 現在のContent-Typeヘッダではサポートされていませんスロー)サポートされていません。 HTTPレスポンスが機能します(サーバーは圧縮を返します)。しかし、クライアント側のlibはデシリアライズしたくないようです。 (XML解析例外が)
私の最後の試みを今日は自分自身を試してみて、HTTP応答のホールドを取得し、手動でストリームをデシリアライズすることでした(GZipStreamは使用できませんが、私は、サードパーティの選択肢があります知っています) - しかし私は何も見つけることができませんでしたMicrosoft.Data.Services.Client.WindowsStoreストリーム/私にストリームを公開するオーバーライド。
ODataを実装して、標準のWCF Webサービスと比較してパフォーマンスと効率の向上を実現したいと考えました。しかし、ワイヤでストリームを圧縮する方法はありません。
誰でもこれに関する経験がありますか、またはアプローチ方法のアドバイスはありますか?
を私はODataのXMLフォーマットが冗長であることを知っていますが、実際にどのくらいのデータ送信?たぶん、少ないデータしか送信できないかもしれません...データを圧縮しようとする具体的な理由はありますか? – Pawel
任意のUI画面でできる最小限のデータを送信しています。アプリケーションの2つのターゲットデバイスはSurface RTとWindows Phone 7です。ワイヤを介してデータを圧縮することは、デバイスが持つ可能性のある帯域幅の制限を守る上で非常に重要です。 –
Windows phone 7では、DataServiceContextクラスに公開されているReadingResponseというイベントがあります。この記事を読むhttp://blogs.msdn.com/b/astoriateam/archive/2011/10/04/odata-compression-in-windows-phone-7-5-mango.aspx – Syler