Jas*_*son 5 asp.net asp.net-mvc constructor controller exception
处理控制器构造函数中发生异常的最佳方法是什么?
我能想到的就是使用Application_OnError()或在我的ControllerFactory中放一个try/catch.
这些解决方案似乎都不理想.Application_OnError是广泛的 - 我在网站中有一些非mvc内容,它有自己的错误处理.
使用try/catch块似乎有点hacky.
如果我正在提供不同的内容类型-html/text/json/rss ....我希望能够在action方法中处理异常,而不必编写各种条件来确定哪种错误要发球的消息.
我在这里遗漏了什么,还是有其他人处理过这个问题?
如果您ControllerFactory在创建控制器时首先发生异常,则无法在操作方法中处理异常.
我个人只是做一个try/catch,实例化一些错误处理控制器,并通过它来路由请求.
一个更好的问题是 - 你的控制器如此依赖于什么不被满足,他们必须在构建时抛出异常?表面上看,简单地创建控制器不应该是异常的巨大来源.如果是,也许你可以看一下懒惰地在动作方法(而不是构造函数)中实例化依赖关系,并实现一种ErrorHandlingController方法.这会将异常"向下"推入控制器本身,因此您可以采用更加以控制器为中心的方法来处理它们.
| 归档时间: |
|
| 查看次数: |
1871 次 |
| 最近记录: |