C# 找出导致IIS7出现问题的原因

C# 找出导致IIS7出现问题的原因,c#,web-applications,iis-7,C#,Web Applications,Iis 7,我们有一个C#web应用程序,最新的部署在我们的Windows Small Business Server 2008(IIS7)上不起作用。该站点的精确副本在我的Windows 7计算机(IIS7.5)上运行良好。以前的版本和其他版本仍然可以在Server2008R2机器上运行,但是这个版本不能 我已经检查了W3SVC日志,但没有记录任何请求。我已经检查了事件日志中的错误,但没有记录任何错误。我还签入了fiddler,但就我所知,请求没有得到响应(结果列仍然是-) 打开url时,浏览器将继续加载

我们有一个C#web应用程序,最新的部署在我们的Windows Small Business Server 2008(IIS7)上不起作用。该站点的精确副本在我的Windows 7计算机(IIS7.5)上运行良好。以前的版本和其他版本仍然可以在Server2008R2机器上运行,但是这个版本不能

我已经检查了W3SVC日志,但没有记录任何请求。我已经检查了事件日志中的错误,但没有记录任何错误。我还签入了fiddler,但就我所知,请求没有得到响应(结果列仍然是-)

打开url时,浏览器将继续加载(无超时)

我还可以检查或启用其他任何东西来调试IIS7行为吗

提前感谢,

尼克

更新


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

如果你的应用程序使用ADO,那么很可能会发生这种情况,这取决于构建是否在Windows 7上发生,以及是否安装了SP1(在构建时)您的构建被SP1中包含的某些Micorsoft ADO更新破坏(请参阅)。

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

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

尝试以下方法:

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

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

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

假设它确实为该文件提供服务,并且您指向正确的计算机,然后检查您的global.asax文件并删除可能存在的任何类型的错误处理。同时关闭web.config的“自定义错误”部分。如果编码不正确,这两种情况都可能导致服务器从本质上变成虚无。如果您有任何类型的附加线程正在access上旋转,那么请查看是否可以关闭这些线程或添加附加日志记录

接下来,查看HTTPERR日志,看看是否可以确定发生了什么。它们位于
%SystemRoot%\system32\LogFiles\HTTPERR\HTTPERR*.log


有关此日志文件的信息位于:

是否尝试将调试器附加到IIS进程?检查MSDN。如果我通过文件共享打开网站,Visual Studio会锁定:-/这是常规web应用程序、WCF服务还是什么?前6个字:“我们有一个C#web应用程序”…仅供参考:2008 R2运行7.5;就像Windows7一样。对不起,没有使用ADO。应用程序没有发生根本性的变化,同一个web应用程序的多个版本仍然可以在该计算机上运行。这不是防火墙,同一个web应用程序(和其他网站)的其他版本仍然可以运行,这在升级之前是行得通的。我正在寻找一种调试IIS7的方法,看看它是如何处理此请求的,看看哪里出了问题。\n此应用程序和其他ASP.NET应用程序的多个版本仍然有效,只有文件被替换,站点配置在今天早上和几周前都有效。谢谢,第一个帮助信息:)我尝试过,它也有相同的行为。我将尝试使用与目标相同的文件夹创建新的IIS站点。嗯,同一文件夹中的新网站不起作用,一直存在相同的问题。HttpErr日志文件没有任何相关错误(仅Exchange AutoDiscover.xml消息)@NKCSS:只是要澄清一下:您将一个html文件放到了该网站的文件夹中,请求了它,无法获得响应或日志消息,而httperr与此无关?@NKCSS:我建议您进行硬盘完整性扫描。听起来元数据库或那些目录条目中可能存在损坏。使用HDTune进行了完整扫描,HDD正常。