当在HttpModule中引发异常时,ASP.NET MVC中的自定义错误消息
||
我正在使用ASP.NET MVC。我在
BaseController
中的OnException
上捕获了任何未处理的异常,以正确显示好消息。
但是我在相同的解决方案中有一个Http模块项目。如果用户提出错误请求,模块可能会抛出“ 2”字样。我正在使用IIS7集成模式,并且所有配置都正确。我是IIS生存时间和Http模块异常的新手。
Googling仅找到了使用HttpMethod进行异常处理的方法,这与本例不同。
问题是是否在模块中引发了异常,MVC是否会执行?如果可以,为什么不转到ѭ0?以及如何像在Action方法中那样在MVC中获取异常?
编辑:基于有关应用程序生命周期的答案@nickvane,我尝试更好地解释这种情况。我认为即使是我创造的任何“ 4”也可能引发任何异常。我希望此异常由我的MVC(在ѭ5中)处理。我在想一个:
HttpModule的顺序
未处理的异常会停止该模块,并且下一个模块永远不会运行吗?
如果只是在UrlRoutingModule
之前或之后执行的另一个HttpModule中抛出异常,如何处理MVC Web应用程序(UrlRoutingModule
)中的异常。
我可以通过使用context.AllErrors
或context.Error
将异常抛出到另一个模块中吗?但是我无法理解错误。
我在地球上发现的唯一方法是从抛出异常更改为ѭ10,但是其他不是我的模块又如何,它仍然抛出异常,我想抓住它。
考虑一下:我创建了MVC Restful API,该API必须返回JSON。我可以使用OnException
正确处理MVC应用程序中的任何异常,以便任何未处理的异常都将返回诸如{\“ Error \”:\“这里的错误消息。”“之类的东西。现在,我有了HttpModule可能会抛出错误。该模块不关心API和JSON,仅引发异常。然后,我尝试在MVC中捕获此异常,以JSON格式返回。
没有找到相关结果
已邀请:
1 个回复
捅瓶啡