6

SilverlightでHttpWebRequestを発行し、応答のヘッダーを(とりわけ)読み取ろうとしています。残念ながら、応答オブジェクト(HttpWebResponse)を取得することはできますが、Headersコレクションにアクセスしようとすると、「実装されていない」例外が発生します。これを行う方法のアイデアはありますか?Azureから大きなレコードセット(約8k行)をプルしようとしていますが、継続トークンの応答ヘッダーを確認する必要があります。

4

4 に答える 4

5

@silverfighterのおかげで、私は答えを持っています。秘訣は、SilverLight 3に、ブラウザー(デフォルト)ではなくクライアント(.NET)に呼び出しを処理させるように指示することでした。これを行うと、WebClientアプローチとHttWebRequestアプローチの両方を介して応答ヘッダーにアクセスできるようになります。詳細はこちら:

http://blogs.msdn.com/carlosfigueira/archive/2009/08/15/fault-support-in-silverlight-3.aspx http://msdn.microsoft.com/en-us/library/dd470096(VS .95).aspx http://blogs.msdn.com/silverlight_sdk/archive/2009/08/12/new-networking-stack-in-silverlight-3.aspx

于 2009-08-20T20:05:49.763 に答える
1

HttpWebRequestは、応答ヘッダーコレクションへのアクセスを許可しません。代わりにWebClientを使用してください。これにより、WebResponse.Headersプロパティが公開されます。

于 2009-08-14T18:27:50.443 に答える
0

残念ながら、そのプロパティは存在しますが、同様に実装されていない例外を返します。

これが思ったほど難しいとは思えませんが…多くの人が同じ要件を持っていると思います。

于 2009-08-17T17:57:59.957 に答える
0

応答ヘッダーは、ブラウザーのHttp処理ではサポートされていません。HttpHandlerを呼び出す前に、クライアントHttp処理を指定する必要があります。

bool httpResult = WebRequest.RegisterPrefix( "http://"、WebRequestCreator.ClientHttp);

WebClient wc = new WebClient();

wc.OpenReadCompleted + = new OpenReadCompletedEventHandler(wc_OpenReadCompleted);

wc.OpenReadAsync(...);

結果ヘッダーは、wc_OpenReadCompletedメソッドのwebClientオブジェクトで使用できるようになります。ご覧ください:http ://msdn.microsoft.com/en-us/library/dd920295 (v = vs.95).aspx

于 2012-03-15T13:24:38.687 に答える