找出IIS7中导致问题的原因

时间:2011-07-19 13:30:51

标签: c# web-applications iis-7

我们有一个C#Web应用程序,最新部署不适用于我们的Windows Small Business Server 2008(IIS7)。该站点的确切副本在我的Windows 7计算机(IIS7.5)上运行正常。以前的版本和其他版本仍可在Server 2008 R2计算机上运行,​​但此操作不会。

我已检查过W3SVC日志,但未记录任何请求。我已经检查了事件日志中的错误,但没有记录错误。我也检查过fiddler,但是请求只是没有我得到的回复(结果列仍然是 - )

当您打开网址时,浏览器将继续加载(无超时)。

还有什么我可以检查或启用调试此IIS7行为吗?

提前致谢,

尼克。

更新

我再次发布了该应用程序&在IIS中创建了一个新站点,这个新版本可以运行。虽然我现在解决了眼前的问题,但我仍然想知道如何调试IIS7,看看它是如何工作的。为什么它会无限加载。

4 个答案:

答案 0 :(得分:1)

首先,我会将常规的.html文件放入sites目录中。然后我会有一个浏览器请求特定的静态文件。这将绕过.net引擎并应该被记录。

如果由于某种原因它不起作用和/或没有记录,那么还有其他事情要检查,请告诉我们。

假设它确实为文件提供服务并且您指向正确的计算机,那么请检查您的global.asax文件并删除您可能具有的任何类型的错误处理。还要关闭web.config的自定义错误部分。如果编码不当,这两者都可能导致服务器基本上陷入虚无。如果您有任何类型的其他线程,您可以在访问时进行调整,然后查看是否可以关闭它们或添加其他日志记录。

接下来,查看HTTPERR日志以查看您是否可以识别正在发生的事情。它们位于
%SYSTEMROOT%\ SYSTEM32 \ LogFiles文件\ HTTPERR \ HTTPERR * .LOG

有关此日志文件的信息位于:http://support.microsoft.com/default.aspx?scid=kb;en-us;820729

答案 1 :(得分:0)

如果你的应用程序使用ADO,则有可能取决于Windows 7上的构建发生位置以及是否安装了SP1(在构建时),构建被某些Micorsoft ADO更新包含在内在SP1中(见http://www.codeproject.com/Articles/225491/Your-ADO-is-broken.aspx)。

答案 2 :(得分:0)

如果W3SVC日志中没有记录任何请求,则可能意味着IIS根本没有收到请求 - 可能是由于防火墙配置或类似情况。

您应该诊断IIS不可用的原因(例如尝试提供某些静态内容),然后再试一次。

答案 3 :(得分:0)

试试这些:

  • 使用您的IIS7重新注册asp.net运行时
  • 确保IIS中“ISAPI和CGI限制”中的正确版本的asp.net扩展名设置为“允许”