返回首页

如何处理在ASP.NET MVC中的错误:
有几个博客文章,关于ASP.NET MVC中的错误处理。他们使用一切的Application_Error异常处理在基地控制器。这个职位,我会告诉您如何使用MVC中tonbsp的内置功能;处理错误。
MVC中有一个属性称为的HandleError]你应该设置你BaseController(或每个控制器上)。有没有需要指定任何属性的选项。
问题的HandleError]与[是,它不能处理404(未找到),因此,我们需要创建一个自定义的错误控制器和告诉ASP.NET使用它(通过配置web.config中,创造和ErrorController):

<customErrors mode="Off" defaultRedirect=" /Error/">

  <error statusCode="404" redirect=" /Error/NotFound/" />

</customErrors>
错误控制器{C}NOTFOUND行动
NOTFOUND行动建立有关路线和来自用户的信息。您可能要记录的信息。模型,它使用派生内置的错误观点模型(HandleErrorInfo),看起来像这样:
public class NotFoundModel : HandleErrorInfo

{

	public NotFoundModel(Exception exception, 

	       string controllerName, string actionName)

	: base(exception, controllerName, actionName)

	{

	}

	public string RequestedUrl { get; set; }

	public string ReferrerUrl { get; set; }

}

这是由以下观点:{体C3}所有其他错误
HandleUnknownAction方法用于处理所有其他的错误代码的HandleError]不能处理(它将被调用,因为没有别的操作方法的存在)。看看它的代码,你会发现,它试图找到一个定制的视图为每个HTTP错误。在您的文章的行动处理错误
另一个重要方面是,你如何对待你的POST行动中的错误。这里是一个样本的方法,这是内置在模型验证的优势。
关键点:总是先验证模型显示任何错误)读取/复制/保存??确保视图模型只包含可以更改的字段)包括任何错误模型中的状态(得到验证摘要)记录所有的错误!

回答