2012-02-29 3 views
2

私は、RESTful Webサービスを呼び出すクライアントアプリケーションを開発しようとしています。 RESTfulな設計の一環として、サービスはさまざまなHTTPステータスコードを使用して、状態を呼び出し元に返信します。たとえば、存在しないリソースを要求すると、サービスは404ステータスコードで応答します。同様に、不正なパラメータを渡すと、サービスは400(Bad Request)ステータスコードで応答します。 Silverlight 5はこれらを自動的にWebExceptionsに変換します。とにかく、SLを例外をスローしないようにすることができますが、ステータスコードなどの正当なレスポンスオブジェクトを返して、受信したものにセットして、自分のコードでレスポンスを処理する方法を決めることができますか?Silverlight 5が200以外のステータスコードのWebExceptionsをスローしないようにしますか?

(さらに明確にするために、これが唯一の400と500の範囲内のステータスコードについてのケースで表示されます)

答えて

0

私の知る限り、例外を回避する解決策は存在しません。それより悪いことに、実際のHTTPコードを入手するのは難しいかもしれないし、不可能かもしれない(私は確かではない。

おそらく、WebExceptionをトラップし、発信者にエラーステータスを提供するHTTPリクエストツールを開発したいと思うでしょう。

+1

幸いなことに、WebExceptionは受け取ったHttpWebResponseオブジェクトを公開し、StatusCode、StatusReasonなどを提供します。私は現在、あなたが記述したものを正確に実行しています(例外をキャッチし、それを応答に変換する)。 SLが例外への応答を変換するオーバーヘッドを排除し、それをスローし、それを処理して元の応答に戻して、ステータスに反応する方法を決定できるようにする方法があれば、うれしいことです。 – SonOfPirate

+0

詳細をお寄せいただきありがとうございます(私が以前に言ったように、あまり検索していません)。 – jv42

関連する問題