2

我有一个像这样的全局 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”模型传递给视图,但我在运行它时从未看到该页面。

我检查了 Chrome 中的底层 html,它只是一个空页面:

<html>
    <head>
    </head>
    <body>
    </body>
</html>

在我从 4.5.* 升级到 Servicestack 5.0.* 之前,这一直运行良好。

不知道发生了什么。

4

0 回答 0