嗨我在ApiController中遇到异常处理问题。
我将Ninject拦截器绑定到Controller动作,问题是拦截器永远不会看到任何抛出/ bellow Controller的异常。
public class ControllerInterceptor : IInterceptor
{
private DbContextTransaction transaction;
public void Intercept(IInvocation invocation)
{
try
{
invocation.Proceed() // action will throw exception for sure
}
catch (Exception) // never executes even if there was exception in Proceed
{
throw;
}
}
}
}
我唯一的想法是ApiController捕获所有异常并且从不转发它们,所以对于拦截器来说,一切看起来都没有发生。任何人都可以证实这一点。
答案 0 :(得分:1)
有同样的问题。 我在Ninject.Extensions.Interception.Linfu中使用了Ninject.Extensions.Interception。 决定将动作方法设为虚拟。