ASP.NET MVC 4のHttpException Exceptionクラスとちょっと混乱しています。カスタムエラーコードをスローすることができますが、受け入れる別のコンストラクタもありますメッセージ:私は理解したようASP.NET MVCのHttpExceptionのポイント
は、HTTPだけでステータスコードと「内部サーバーエラー」のようなステータスコードに関連した小さなメッセージを送り返します。この場合、ASP.NET MVCアプリケーションのコンテキストでこのクラスを使用する点は何ですか?今私は、何が起こっているのかをクライアントに伝えるために、特定のステータスコードでHttpExceptionsをスローするコントローラを持っています。これは正しいアプローチですか?例:
/// <summary>
/// GET: Returns the data required for the modal to edit the environments.
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult EditEnvironments()
{
try
{
List<Setting> settings = _service.GetAllSettings().ToList();
return PartialView("_EditEnvironments", settings);
}
catch (Exception ex)
{
Log.Error(ex.Message, ex);
throw new HttpException(500, "Something bad happened.", ex);
}
}
ここでは「何か悪いことが起こった」というメッセージが表示されます。クライアントには決して表示されません。解明してくれてありがとう!
Ermでは、HTTPはステータスコードのみを返信するという考えをどこから得ましたか?どのように "OK"の状態になるのでしょうか? – walther
MVCアプリケーションは、HTTPステータスコードを処理する必要はありません。 'HttpException'は、あなたが何らかの理由でWebサービス呼び出しをしたり、' HttpWebRequest'や 'HttpWebResponse'を使うときに一般的に使われます。 – Fourat
私は2番目の段落に書いたように、ステータスコードと小さなメッセージを 'OK'そしてFourat - ありがとう。 – coolboyjules