5

ステータスコードを設定して例外をキャッチし、応答にメッセージを書き込むことにより、WebAPIアクションメソッドで例外を処理したいと考えています。通常、通常の MVCでは、のプロパティControllerを使用して、次のようにします。ControllerResponse

Response.StatusCode = 404;
Response.Write("Whatever");

ただし、プロパティApiControllerはないようです。Responseこれには理由がありますか?次のように使用しても問題ありませんHttpContext.Current.Response:?

HttpContext.Current.Response.StatusCode = 404;
HttpContext.Current.Response.Write("Whatever");

または、WebAPI コントローラーからの応答に書き込む特定の方法はありますか??

4

2 に答える 2

7

アクションメソッドは、応答オブジェクトを作成することになっています。新しいHttpResponseMessageを実行するか、this.CreateResponseを呼び出します。

HttpResponseMessageを返す代わりに、カスタムCLRオブジェクトを返したい場合は、HTTPResponseExceptionをスローして404を返す必要があります。

于 2012-08-31T16:22:59.823 に答える
0
于 2013-05-31T22:59:29.563 に答える