【发布时间】:2017-04-07 18:26:02
【问题描述】:
当控制器中抛出某些异常时,我想捕获这些异常并执行一些额外的逻辑。
我能够通过添加到全局过滤器列表的自定义 IExceptionFilter 来实现这一点。
但是,我更喜欢在自定义 Owin 中间件中处理这些异常。 我的中间件是这样的:
try
{
await Next.Invoke(context);
}
catch (AdalSilentTokenAcquisitionException e)
{
//custom logic
}
这段代码不起作用,看起来异常已经在 MVC 中被捕获和处理。 有没有办法跳过MVC中的异常处理,让中间件捕获异常?
【问题讨论】:
-
不是重复的——另一个问题是关于 Web API 2,这是关于 MVC 框架的。该答案的一部分(OWIN 中间件)是适用的,但关闭默认错误处理的机制不同。
标签: c# asp.net-mvc owin owin-middleware