-1

我有两个托管在服务器上的 ASP.NET 网站,并连接到不同服务器上的 SQL 数据库。

引发 500 个内部服务器错误的网站之一(作为生产中的自定义错误模式)。我不确定是什么导致了这些错误。而且这些错误是随机的,所以我无法在开发环境中复制。这两个网站的功能几乎相似,但我只在一个网站上遇到这些错误。最近有很多超时错误。所以我要求系统管理员检查事件日志,然后他们说很多 Windows 更新正在等待,所以他们运行补丁并重新启动应用程序和数据库服务器。

之后,我在从登录到网站的默认页面时遇到 500 个内部错误,但我确信代码没有任何问题,并且这些错误没有在全局 ascx 文件的 application_error 事件中捕获。

有关如何进一步解决此问题的任何见解?

4

1 回答 1

0

错误 500 是非常普遍的错误。AFAIK 当它发生时,应用程序的应用程序池被“杀死”。例如,它可能是由无限重复(堆栈溢出)引起的。

老实说,不可能告诉您为什么会在您的环境中发生此错误,但我对您的建议如下:配置一些日志系统,它有可能会在应用程序池“死亡”之前记录导致错误的原因。

我强烈推荐ELMAH。这是一个很棒的工具,而且很容易配置。如果它没有帮助,您应该在应用程序的一些重要位置实现写入日志消息,以便您可以针对导致问题的模块/类/方法。

在这里您可以找到有关 ELMAH 的大量信息:

https://www.stormconsultancy.co.uk/blog/development/tools-plugins/getting-started-with-elmah-asp-net-error-logging-and-reporting/

http://www.asp.net/web-forms/overview/older-versions-getting-started/deploying-web-site-projects/logging-error-details-with-elmah-cs

https://dillieodigital.wordpress.com/2011/03/30/elmah-a-quick-start-tutorial-and-guide/

于 2015-07-31T15:01:32.667 回答