我对ASP.NET MVC 4中的HttpException异常类有点困惑。我知道它可以让你抛出自定义的错误代码,但也有另一个构造函数可以接受消息:在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只发回状态码?那么如何陈述“确定”然后工作? – walther
这样做没有意义,MVC应用程序处理HTTP状态代码。当你进行Web服务调用或者使用'HttpWebRequest'或'HttpWebResponse'出于任何原因时,通常使用'HttpException' – Fourat
我知道有一个状态码和一个像'OK'这样的小消息,就像我在第二段中写的那样。和福拉 - 谢谢。 – coolboyjules