每次我从 Visual Studio 2010 启动我的 ASP.Net MVC 3 应用程序时,IIS Express 启动并且 IE 旋转等待。请求失败并显示 HTTP 503 服务不可用。我在 IE 中点击刷新,请求成功。在我停止调试之前,所有后续请求都会成功。下次再去开始调试时,第一个请求又失败了。
还有其他人经历过吗?
在 IISExpress\applicationhost.config 我有:
<site name="ProjectName" id="6">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="c:\users\chris\dropbox\code\2010\SolutionName\ProjectName" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:laptop" />
</bindings>
</site>
我的主机文件中有这个:
127.0.0.1 laptop
我的项目设置为从 IIS Express 开始,项目 Url 设置为:
http://laptop
很奇怪只有第一个请求失败,也许是因为 Visual Studio 没有等待足够长的时间来启动 IIS Express?有什么办法让它等待吗?
停止调试,进行更改,然后重新开始是我最常执行的任务之一,因此添加另一个步骤以达到目的非常烦人。
IIS Express 支持失败请求跟踪,默认情况下它是打开的。写入的日志
%IIS_USER_HOME%\TraceLogFiles
通常位于以下位置:在该文件夹中,您将看到在 IIS Express 中运行的每个项目的子文件夹列表。在每个站点的文件夹中应该有一堆
frXXXXX.xml
文件和一个freb.xsl
文件。使用 Firefox 或 Internet Explorer,打开
frXXXXX.xml
时间戳最接近您收到这些 503 错误的时间的文件。打开后你会看到类似下面的内容:希望您应该发现 503 错误的原因。
您也可以尝试从命令行手动为您的项目启动 IIS Express :
包含站点代码、web.config 等的项目文件夹的文件系统路径在哪里
[PATH]
,例如在您的情况下它将是:如果 IIS Express 无法首次启动站点,这可能会引发一些有趣的错误。
另外,您还可以告诉 Visual Studio“附加到进程”并以这种方式开始调试。
您需要采取的首要行动是确定实际发生的情况。
为此,请为本地请求打开详细错误页面:
现在所有 400 和 500 类 http 返回将导致 IIS 显示更详细的错误页面。