如何跟踪我的 Web 服务引发的 IIS 500 错误
Posted
技术标签:
【中文标题】如何跟踪我的 Web 服务引发的 IIS 500 错误【英文标题】:How can I trace IIS 500 errors thrown by my webservice 【发布时间】:2009-02-17 15:54:28 【问题描述】:我已经部署了一个新版本的 ASP.NET Web 服务。当客户端调用此服务时,IIS 日志文件报告错误代码 500。我自己的(测试)可以使用该服务而不会出现任何错误。我在我的 ASP.NET Web 服务中启用了错误记录,但没有记录错误,这让我相信错误不是由我的代码引发的,而是堆栈中“较早”的某个地方。我还检查了 httperr1.log 文件,但那里没有任何相关内容。
问题,如何向 IIS 添加更多错误日志来调查错误?我无权访问客户端。
[更新] 我正在使用 IIS6。我检查了事件日志,没有发现任何东西。
【问题讨论】:
任何 ASP.net 错误,通常都会记录在事件查看器中。你在那里检查过吗? 【参考方案1】:您使用的是哪个版本的 IIS?
在 IIS7 中,您拥有广泛的跟踪功能。
看看:Troubleshooting Failed Requests Using Tracing in IIS 7.0
【讨论】:
【参考方案2】:如果您在 IIS6 上,来自 Microsoft 的DebugDiag 2.0 是您想要使用的明确工具。
【讨论】:
“抱歉。此下载不再可用。” 已将其更新为 DebugDiag 2.0。该链接将来也可能断开; debugdiag.com 或blogs.msdn.com/b/debugdiag 可能更耐用。【参考方案3】:您的日志文件是什么格式的? IIS 格式通常包含来自特定请求的错误消息,而默认格式不包含。
【讨论】:
【参考方案4】:如果您从本地主机上自动生成的代理运行 webMethod,您可以在崩溃时看到堆栈跟踪转储。
【讨论】:
以上是关于如何跟踪我的 Web 服务引发的 IIS 500 错误的主要内容,如果未能解决你的问题,请参考以下文章
Web项目Bin目录下的文件改动会引发Application_End事件,IIS会回收线程
如何使用 C# 中的 Windows 服务跟踪给定进程是不是引发异常
ASP.NET - 部署问题 - 通过 Web.Config 启用堆栈跟踪/跟踪侦听器日志以查找内部服务器 500 错误的原因
IIS 将 ASP.NET 5 BETA 8 站点部署到 IIS 会出现 HTTP 错误 500.19 - 内部服务器错误