16

http://www.asp.net/web-api/overview/web-api-routing-and-actions/exception-handlingから

HttpResponseException

Web APIコントローラーが例外をスローした場合はどうなりますか?デフォルトでは、ほとんどの例外はステータスコード500、内部サーバーエラーのHTTP応答に変換されます。

HttpResponseExceptionタイプは特殊なケースです。この例外は、例外のコンストラクターで指定したHTTPステータスコードを返します。

そうでないことを除いて。Fiddlerは、500が返されることを示しています。

ただし、HttpExceptionはその記事の内容を実行しているようです。

ドキュメントが間違っていますか、それとも何かが足りませんか?

アップデート

それをタイプしている間、私は考えを持っていました。ApiControllerと標準MVCコントローラーの2つのコントローラーから両方を試しました。

2つの例外は、スローされたコントローラーのタイプに応じて、互いに逆に機能します。

  • HttpResponseExceptionを使用して、APIコントローラーから適切なHTTPコードを返します。
  • HttpExceptionを使用して、MVCコントローラーから適切なHTTPコードを返します。
4

1 に答える 1

18

[私の更新を回答に移動しました]

それをタイプしている間、私は考えを持っていました。ApiControllerと標準MVCコントローラーの2つのコントローラーから両方を試しました。

2つの例外は、スローされたコントローラーのタイプに応じて、互いに逆に機能します。

  • HttpResponseExceptionを使用して、APIコントローラーから適切なHTTPコードを返します。
  • HttpExceptionを使用して、MVCコントローラーから適切なHTTPコードを返します。
于 2012-11-23T11:02:31.010 に答える