4

HSS Interlink を使用して、アプリケーションでダウンロード ファイルをアップロードしています。私が直面している問題は、ダウンロード ハンドラーが 500,404 などの HTTPStatusCodes を返していることですが、問題は、要求をいじると、本当に返したかった 500 ステータス コードが適切に表示されることですが、Silverlight クライアントで HttpWebResponse.Status をチェックすると、例外として、404 が発生します。msdn でこれをさらに調査したところ、非常に奇妙な発言が見つかりました。

HTTP および HTTPS スキームで返されるステータス コード値は、OK と NotFound のみです。

http://msdn.microsoft.com/en-us/library/system.net.httpstatuscode%28v=vs.95%29.aspx

これに光を当てることができる人はいますか?これは、silverlight webClient が応答で OK と NotFound ステータスしか持てないことを意味しますか?

4

1 に答える 1

4

それに対する答えが見つかりました..silverlightは、着信httpstatusコードを処理できるようにURLスキームを登録する必要があります。

bool httpResult = WebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp);
bool httpsResult = WebRequest.RegisterPrefix("https://", WebRequestCreator.ClientHttp);

RegisterPrefixの使用法はこれだけではないと確信しています。私は他の人にそれの潜在的な使用法を理解するのを手伝ってもらいたいです。

編集:

silverlightは、httpスタックを使用して2つのモードで動作することを提案します。1つは、デフォルトで使用されるbrowserStackです。すべてのCookieと認証ヘッダーはブラウザによって処理されますが、Silverlightクライアントに返されるステータスコードは送信されません。

一方、ClientHttpスタックでは、ステータスコードやその他の例外の詳細を取得できますが、Cookieやヘッダーなどを含むすべてを自分で管理する必要があります。

よろしく。

于 2012-06-13T08:00:58.480 に答える