当站点运行良好时,Glimpse工作得很好,但当有一个500的时候,它就消失了。

对比:

您可以在这里看到它(只要您以密码=password的用户glimpseuser登录)。
http://telemetrymvc.azurewebsites.net/Home/ThrowException
不幸的是,500真的很重要。
在发生异常的情况下,有没有办法让Glimpse存活下来?
发布于 2015-10-08 02:32:27
也许吧,但您必须通过MVC来处理500错误,而不是依赖于静态错误页面。Glimpse只是在运行时将自身注入到响应HTML中,而不能通过静态页面做到这一点。但是,由MVC处理500个错误意味着如果出现应用程序范围的错误,您可能会陷入重定向循环:应用程序重定向到500处理程序,然后该处理程序也会引发异常,导致它重定向到500处理程序,依此类推。
如果你想冒险,那么你需要在你的Web.config中添加httpErrors声明:
<system.webServer>
...
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="500" />
<error statusCode="500" responseMode="ExecuteURL" path="/Error/ServerError" />
</httpErrors>然后,假设您使用的是默认路由,那么您只需要一个具有ServerError操作的ErrorController。
然而,Glimpse实际上只用于开发,即使到那时,死亡的黄屏也比启用了Glimpse的东西更适合返回。对于生产环境,您应该使用某种替代的错误日志记录应用程序,如Elmah或许多基于云的选项之一。
https://stackoverflow.com/questions/32999719
复制相似问题