我应该如何在无状态 Web API 中处理我的控制器方法的全局异常处理?我的目标是避免在我的控制器中出现冗长的 try/catch 语句。
我能够使用 IIS 托管的 Web API 使用我在我的WebAPIConfig.cs. 这在 OWIN 托管的 API(如在 Service Fabric 中)中不会立即生效。因此,在 SF 无状态 Web API 中,我创建了一个 Owin 中间件并在其中注册了该中间件,Startup.cs但它不起作用。在我的中间件代码的响应管道中忽略了 catch 块。
...
public override async Task Invoke(IOwinContext context)
{
try
{
//It goes here
await Next.Invoke(context);
}
catch (Exception ex)
{
//This catch block does not get called????
HandleException(ex, context);
}
}