我在ASP.NET生产服务器上遇到了经典(我敢说是典型的?)错误,它告诉我无法查看错误。在下面显示的错误下方,我已经尝试过了。
在IIS管理器(6.0)中,该应用程序位于“网站”中的一个网站下。它确实是一个Web应用程序,而不是虚拟目录(它有齿轮图标)。
当尝试从localhost(即服务器本身)查看错误时,它在路径上找不到应用程序,即使root网站在localhost中工作正常。这显然不是防火墙问题,因为首先,防火墙已关闭,其次是因为root网站可以从localhost正常工作。哎呀,我甚至试过通过telnet进行连接,并且工作得很好,但是这很明显也不是防火墙问题。
基本上,我只需要查看错误。如果我能看到错误并修复它,我就不必解决这个问题了,因为代码本身显然有问题...我只是不知道是什么,因为IIS / .NET不会告诉我
运行时错误
描述:服务器上发生了应用程序错误。此应用程序的当前自定义错误设置可防止远程查看应用程序错误的详细信息(出于安全原因)。但是,它可以由运行在本地服务器计算机上的浏览器查看。
详细信息:要在远程计算机上查看此特定错误消息的详细信息,请在位于当前Web应用程序根目录中的“web.config”配置文件中创建标记。然后,此标记应将其“mode”属性设置为“Off”。
所以我已经尝试过的是将customErrors设置为“Off”时错误信息本身的建议。事实上,它总是在“关闭”,所以我没有必要改变任何东西。我已确保web.config XML有效。
此错误的另一个常见原因是.NET运行时设置为1.1版,而不是2.0版。我还确保将其正确配置为2.0。
我在一个独立的应用程序池中运行它,这意味着在同一个应用程序池中根本没有其他应用程序,更不用说1.1应用程序了。
我确保每个人都可以对应用程序本身的文件和目录做任何事情。我理解这里的安全后果,我只是想让它工作,然后我将限制访问权限,一次一步。但无论如何,每个人都可以阅读这些文件。
任何帮助深表感谢。提前谢谢。
答案 0 :(得分:2)
错误是.NET框架错误,因此它找到了应用程序,但是存在配置错误。您可以做的是在global.asax中的APplication_Error处理程序中添加一些事件日志记录代码以捕获这些错误,或者打开运行状况监视(<healthMonitoring enabled="true" />
),默认情况下会将ASP.NET框架错误记录到事件日志中。
HTH。
答案 1 :(得分:0)
直到我将应用程序从“子应用程序”(我不知道正确的术语)更改为具有自己主机名的独立网站之前,才开始工作。 ASP.NET以神秘的方式工作。