2012-11-14 8 views
5

コンテキスト:現在、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サービスと比較してパフォーマンスと効率の向上を実現したいと考えました。しかし、ワイヤでストリームを圧縮する方法はありません。

誰でもこれに関する経験がありますか、またはアプローチ方法のアドバイスはありますか?

+0

を私はODataのXMLフォーマットが冗長であることを知っていますが、実際にどのくらいのデータ送信?たぶん、少ないデータしか送信できないかもしれません...データを圧縮しようとする具体的な理由はありますか? – Pawel

+1

任意のUI画面でできる最小限のデータを送信しています。アプリケーションの2つのターゲットデバイスはSurface RTとWindows Phone 7です。ワイヤを介してデータを圧縮することは、デバイスが持つ可能性のある帯域幅の制限を守る上で非常に重要です。 –

+0

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

答えて

1

あなたは、JSON response.TheクライアントがMaxDataServiceVersionヘッダを送信するために持ってもらうためにここに同じ手順に従った: http://blogs.msdn.com/b/astoriateam/archive/2012/04/11/what-happened-to-application-json-in-wcf-ds-5-0.aspx

を私はまた、ODATAの5.1.0がnugetにリリースされたことを確認しました。これは、より良いJSONをサポートしています https://nuget.org/packages/Microsoft.Data.Services/5.1.0

あなたの他のオプションは、asp.netのWeb APIを使用して、ODATAサポートしようとすることです: http://www.nuget.org/packages/Microsoft.AspNet.WebApi.OData

+1

コメントありがとうございました。ただし、Microsoft.Data.Services dllを使用していないため、消費デバイスがWindows 8 Storeアプリケーションであるため、Microsoft.Data.Services.Client.WindowStore dllを使用しています。私はJsonでODataを送信するようにサーバーを取得できましたが、クライアントは2番目の箇条書きのようにNotSupported例外をスローします。 –

+0

http://www.microsoft.com/en-us/download/details.aspx?id=30714は、私が使用しているWCF Data Servicesパッケージです –

+0

私はWindows 8の開発者ではありません。しかし、それはWindowsストアアプリケーションのためのOdataクライアントツールの新しいバージョンがあるようだhttp://www.microsoft.com/en-us/download/details.aspx?id=35461ここで詳細情報http://blogs.msdn 。com/b/astoriateam/archive/2012/10/30/odata-client-tools-for-windows-phone-apps-now-available.aspx – softveda

関連する問題