Как обрабатывать глобальную обработку исключений для моих методов контроллера в веб-API без состояния? Моя цель - избегать многословности заявлений try/catch внутри моего контроллера.Глобальная обработка ошибок в службе Fabric Webeless API
Я смог добиться этого с помощью веб-API, поддерживающего IIS, с помощью пользовательского ExceptionHandler, который я зарегистрировал в своем WebAPIConfig.cs
. Это не будет работать прямо в летучей мыши в хостинговом API OWIN (например, в Service Fabric). Поэтому в веб-API SF stateless я создал промежуточное ПО 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);
}
}
Вы ** можете использовать пользовательский 'ExceptionLogger/Handler' (не имеет значения для самостоятельного размещения или размещения IIS) –