1

MonoTouch を使用してアプリを開発しており、サードパーティの Web サービスからデータを取得する必要があります。そのようなことを行うためのWCFバインディングがあります。

私が呼び出している特定の Web サービス メソッドは、数百メガバイトの範囲の XML 文字列を返す可能性があり、モバイル デバイスへのダウンロードに時間がかかる可能性があります。

システムレベルでネットワークから読み取られたバイト数をキャプチャする方法を探しています。エンドゲームでは、進行状況インジケーターをユーザーに表示します。ビヘイビアーを使用してこれを達成する方法はありますか?

Stream オブジェクトを返すように Web サービス コードを変更する方法はありません。

どんな助けや指示も大歓迎です。ありがとう

最後の手段として、これを提供するためにフックする NSURLConnectionDelegate メソッドがあることを知っているので、WCF の代わりに NSURLConnection を使用してこれを行うことにいつでも頼ることができます。将来、このコードを Android プロジェクトに簡単にドロップできるように、NSURLConnection を避けたかったのです。

4

1 に答える 1

0

プレーンな HttpWebRequest の代わりに WCF を使用する理由はありますか?

WCF はデータの解析において正確には効率的ではありません。情報のさまざまなチャンクを逆シリアル化するために複数のコピーをメモリに保持します。

この情報を提供できるシステム レベルの API はありません。HttpWebRequest から返されるストリームは、得られる最良の値です。

于 2012-07-29T15:18:01.717 に答える