Служебный стек: GlobalHtmlErrorHttpHandler
У меня есть глобальная настройка обработчика ошибок HTML, как это:
public override void Configure(Container container)
{
//...
this.GlobalHtmlErrorHttpHandler = new RazorHandler("/oops");
this.ServiceExceptionHandlers.Add((httpReq, request, exception) =>
{
//Log the exception here...
//return custom response
return DtoUtils.CreateErrorResponse(request, exception, responseStatus);
});
}
и код представления, который отображает сообщение об ошибке - "oops.cshtml":
@inherits ViewPage<ErrorResponse>
@{
ViewBag.Title = "Error";
Layout = "~/Views/Shared/_NotLoggedLayout.cshtml";
string errorMessage = "Test error message";
}
<h2>Error Message: @errorMessage</h2>
Когда возникает исключение, я могу установить точку останова в коде представления и пройти через все ожидаемые модели "ErrorResponse", передаваемые представлению, но я никогда не вижу страницу, когда запускаю ее.
Я проверил основной HTML в Chrome, и это просто пустая страница:
<html>
<head>
</head>
<body>
</body>
</html>
Раньше это работало нормально, пока я не обновил Servicestack 5.0.* С 4.5.*.
Не уверен что происходит.