如何针对ASP.NET MVC中的错误处理找到最有效的解决策略?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1982个文字,预计阅读时间需要8分钟。
ASP.NET MVC错误处理应考虑以下方面:
1.模型绑定期间出现的错误
2.无法访问指定操作的错误
3.针对控制器的错误处理
通过配置文件处理异常,但需注意灵活性和全面性。ASP.NET MVC的错误处理应考虑到这几个方面:模型绑定期间发生的错误,未能路由到指定操作,针对控制器的错误处理。使用配置文件可以帮助我们处理异常,但是不够灵活和全面;使用HandleErrorAttribute、自定义错误过滤器或重写控制器OnException方法只能解决针对控制器的错误,无法解决模型绑定期间发生的错误,也无法处理404错误,即使将错误过滤器注册为全局过滤器也是如此。有时候需要多种方法配合使用。
在捕获错误的地方,可以将有用的信息记录下来,便于我们查出引起问题的原因和纠正错误。
1启用自定义错误
使用这种方式一定要注意将defaultRedirect设置为指定的错误页面,防止黑客探测各种错误情形进而发现系统的额漏洞。
<system.web> <customErrors mode="On" defaultRedirect="/error/error2"> <error statusCode="404" redirect="/error/error1" /> </customErrors> <!--其他配置--> </system.web>
Mode:处理模式,有三种处理模式
- On,启用自定义处理功能,当错误发生时显示自定义错误页
- Off,关闭自定义错误处理功能,当错误发生时显示默认的错误页。
本文共计1982个文字,预计阅读时间需要8分钟。
ASP.NET MVC错误处理应考虑以下方面:
1.模型绑定期间出现的错误
2.无法访问指定操作的错误
3.针对控制器的错误处理
通过配置文件处理异常,但需注意灵活性和全面性。ASP.NET MVC的错误处理应考虑到这几个方面:模型绑定期间发生的错误,未能路由到指定操作,针对控制器的错误处理。使用配置文件可以帮助我们处理异常,但是不够灵活和全面;使用HandleErrorAttribute、自定义错误过滤器或重写控制器OnException方法只能解决针对控制器的错误,无法解决模型绑定期间发生的错误,也无法处理404错误,即使将错误过滤器注册为全局过滤器也是如此。有时候需要多种方法配合使用。
在捕获错误的地方,可以将有用的信息记录下来,便于我们查出引起问题的原因和纠正错误。
1启用自定义错误
使用这种方式一定要注意将defaultRedirect设置为指定的错误页面,防止黑客探测各种错误情形进而发现系统的额漏洞。
<system.web> <customErrors mode="On" defaultRedirect="/error/error2"> <error statusCode="404" redirect="/error/error1" /> </customErrors> <!--其他配置--> </system.web>
Mode:处理模式,有三种处理模式
- On,启用自定义处理功能,当错误发生时显示自定义错误页
- Off,关闭自定义错误处理功能,当错误发生时显示默认的错误页。

