我在Azure上有一个基于ASP.NET的Web应用程序,带有Web API。昨天,只要调用了一个API调用,我就开始从应用程序中获取异常。
我目前没有异常记录器拦截应用程序异常,但是,我确实对每个API调用都进行了审计记录,99%的时间会捕获异常并向我报告问题。
在这种特殊情况下,审计日志记录中的堆栈似乎发生了异常。我所编写的代码并不多,在上面调用是诚实的。还配置了IIS错误页面,因此异常信息不会传递给客户端。我看过事件日志,那里什么都没有。
为了解决这个问题,我创建了一个新的Azure实例,将其生效并将有问题的实例降级为暂存。新实例工作正常。如果我通过重新配置web.config重新启动(现在)暂存实例来禁用IIS错误,那么该实例也可以正常工作!
所以有人知道如何从正在运行的应用程序域中提取未处理的异常信息,而无需重新启动或以任何方式影响它吗?
我将尽快进行异常登录,不要担心:-)但如果有办法解决这个问题而不必等待另一次出现问题,那就太棒了!
更新: 我登录到服务器并设法从“详细回复”中获取以下信息:
HTTP错误500.0 - 内部服务器错误无法显示页面 因为发生了内部服务器错误。详细错误 信息:
模块ManagedPipelineHandler
通知ExecuteRequestHandler
Handler System.Web.Http.WebHost.HttpControllerHandler
错误代码0x00000000
请求的网址http:// 10.77.52.122:80/api/Login
物理路径E:\ sitesroot \ 0 \ api \ Login
登录方法匿名
登录用户匿名
请求跟踪目录
C:\资源\目录\ 34c6b40352d4449d8a19274caa328300.Web.UI.DiagnosticStore \ FailedReqLogFiles \网络
然后我配置了失败的请求跟踪 - 这很快就让错误消失了!
有人有什么想法吗?我可能不得不等待它再次发生,但到那时会有更多异常记录。
感谢 克里斯