1

我在 Azure 上有一个带有 Web API 的基于 ASP.NET 的 Web 应用程序。昨天,每当调用 API 调用之一时,我就开始从应用程序中获取异常。

目前我没有拦截应用程序异常的异常记录器,但是,我对每个 API 调用都有审计日志记录,99% 的时间会捕获异常并向我报告问题。

在这种特殊情况下,从审计日志开始,堆栈中似乎出现了异常。老实说,我写的代码并不多,在上面被调用。还配置了 IIS 错误页面,因此不会将异常信息传递给客户端。我查看了事件日志,里面什么都没有。

为了解决这个问题,我启动了一个新的 Azure 实例,使其生效并将有问题的实例降级为暂存。新实例工作正常。如果我通过重新配置 web.config 以禁用 IIS 错误来重新启动(现在)暂存实例,那么该实例也可以正常工作!

那么有谁知道我如何从正在运行的应用程序域中提取未处理的异常信息而无需重新启动它或以任何方式影响它?

我很快就会进行异常登录,别担心 :-) 但是如果有办法解决这个问题而不必等待问题再次发生,那就太好了!

更新:我登录到服务器并设法从“详细响应”中获取以下信息:

HTTP 错误 500.0 - 内部服务器错误 该页面无法显示,因为发生了内部服务器错误。详细错误信息:

模块 ManagedPipelineHandler

通知 ExecuteRequestHandler

处理程序 System.Web.Http.WebHost.HttpControllerHandler

错误代码 0x00000000

请求的 URL http://10.77.52.122:80/api/Login

物理路径 E:\sitesroot\0\api\Login

登录方法匿名

登录用户匿名

请求跟踪目录
C:\Resources\directory\34c6b40352d4449d8a19274caa328300.Web.UI.DiagnosticStore\FailedReqLogFiles\Web

然后我配置了失败的请求跟踪——它立即使错误消失了!

有人有想法么?我可能不得不等待它再次发生,但到那时会有更多的异常记录。

谢谢克里斯

4

0 回答 0