5

コンテキスト:現在、Windows8ストアアプリケーション用にOdataでWCFDataServices5.0を使用しています。

今日、私のサービスからネットワーク経由で送られてくるODataを圧縮しようとしていて、サポートを取り巻く多くの問題に直面しています。

  • バイナリシリアル化はサポートされていません。

  • jsonはサポートされていません(library throws'application / json'は現在Content-Typeヘッダーではサポートされていません)

  • jsonliteはまだリリースされていません

  • http応答にgzipリクエストを追加することは機能します(サーバーは圧縮を返します)-しかし、クライアント側のlibはそれを逆シリアル化することを望んでいないようです。(xml解析の例外)

今日の私の最後の試みは、http応答を取得し、自分でストリームを手動で逆シリアル化することでした(GZipStreamは利用できませんが、サードパーティの代替手段があることはわかっています)-しかし、Microsoft.Dataは見つかりませんでした。ストリームを公開するServices.Client.WindowsStoreイベント/オーバーライド。

標準のWCFWebサービスよりもパフォーマンスと効率が向上するようにODataを実装したかったのですが、ネットワークを介してストリームを圧縮する方法がなく、何も得られませんでした。

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

4

1 に答える 1

1

ここで同じ手順を実行してjson応答を取得しましたか?クライアントはMaxDataServiceVersionヘッダーを送信する必要があります:http: //blogs.msdn.com/b/astoriateam/archive/2012/04/11/what-happened-to-application- json-in-wcf-ds-5-0.aspx

また、Odata5.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

于 2012-11-16T21:15:06.427 に答える