Я разработал образец приложения SignalR на основе ASP.NET 4.5 и Owin и разместил это приложение на IIS 7.5.
Все работает нормально, но как я могу обрабатывать исключения в Оуине?
Рассмотрим следующий код:
[HubName("SampleHub")]
public class SampleHub : Hub
{
public SampleHub()
{
throw new InvalidOperationException("?!");
}
}
Это исключение не вызовет Application_Error
(и это моя проблема).
Где я могу получить все исключения от Owin для ведения журнала и отладки, аналогично Application_Error
?
Мне не интересно что-то вроде этого:
app.UseErrorPage(new ErrorPageOptions()
{
ShowCookies = true,
ShowEnvironment = true,
ShowExceptionDetails = true,
ShowHeaders = true,
ShowQuery = true,
ShowSourceCode = true
});
Это совершенно бесполезно для сложных сценариев, таких как ASP.NET Web API и ASP.NET MVC.
Фильтры действий с методом OnException для целей переопределения намного лучше.