IIS 6.0突然显示目录列表而不是MVC 3应用程序

时间:2012-01-04 08:07:05

标签: asp.net-mvc iis

一夜之间,一个(内部的,幸运的)MVC网络应用程序已停止为我工作,据我所知没有任何改变。在过去的两天里,应用程序本身并没有被修改过,IIS也是如此。

问题是我得到了我的www文件夹的目录列表,而不是应用程序默认操作(/Home/Index)。

我的www文件夹包含标准内容:

bin
Content
Scripts
Views
Global.asax
Web.config

我试过了:

  • 将“特定页面”设置为“开始操作”但不能解决问题。
  • 重新启动IIS中的网页
  • 在IIS中启用/禁用“默认内容页面”。没有帮助,但如果我把它放在www文件夹中,IIS确实会接收到Default.html。

现在,这发生过一次。在我度假的时候,通过重新启动整个万维网发布服务解决了这个问题。虽然这次也可能有用,但我想在暂时解决问题之前找出问题的根源,以便让它在未来再次发生。因此,当WWW Publishing Service重新启动时,可能会让网站再次运行,我宁愿在解决这个问题之前先了解它为什么会发生这种情况。

最后,请注意我在同一个IIS服务器上运行其他MVC应用程序,并且从未遇到过这个问题。

7 个答案:

答案 0 :(得分:21)

  1. 打开命令提示符
  2. 转到C:\Windows\Microsoft.NET\Framework\<version>文件夹。
  3. 运行aspnet_regiis -i
  4. 这就是全部!

答案 1 :(得分:5)

有点晚......但是因为我收到了相同的结果。

我的应用程序池针对错误的.Net版本(应该与Web应用程序Target Framework相同)。只需在&#34;设置应用程序池默认值&#34;选项,重新启动,它已解决。

希望它有所帮助。

答案 2 :(得分:3)

我有类似的问题。 IIS根路径已由同事更改。 解决方案是在默认网站的“高级设置”中修复“物理路径”。

答案 3 :(得分:2)

我不认为/ Home / Index可以在没有任何配置的情况下运行IIS 6.0。 ASP.NET MVC实际上需要“集成模式”,但可以在应用配置的经典运行。

哈克先生的那篇文章可能会有所帮助:http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx

答案 4 :(得分:0)

当我添加一个名为&#34;文件&#34;的文件夹时,看到了这个问题。在根,并有一个DOCUMENTS控制器&amp;视图。我想如果我想要在CONTROLLER文件夹中的route \ documents或根目录下面的\ documents文件夹,我感到很困惑。一种解决方案是在路由中添加一个id,使其使用控制器版本的文档

Url.Action("Index", "Documents", *New With {.id = 1}*

还可以将根目录下新添加的文件夹的名称更改为DOCS。

答案 5 :(得分:0)

更改应用程序池的.NET CLR版本可能会有所帮助。

  1. 右键单击运行应用程序的应用程序池上的,然后选择高级设置...
  2. 将.NET CLR VERSION 更改为您的应用程序版本(与配置文件中的版本相同)
  3. 点击确定
  4. enter image description here

答案 6 :(得分:0)

我遇到了同样的问题,这就是我的解决方法。

尽管从WebAPI项目(而不是Web项目)继承了TFS服务器上的Global.asax文件,但在Visual Studio中选择了该Web项目作为启动项目时,我遇到了问题。运行构建时,Web API被设置为Web服务器上的启动项目,因为它是在从WebAPI项目继承的TFS服务器上部署该版本。为解决此问题,我将另一个项目设置为启动项目,然后在Visual Studio中再次将Web项目更改为启动项目。我必须这样做,因为TFS抱怨说,当我尝试将计算机上的版本检查到TFS中时,没有未决的更改。然后,我签入代码并再次运行构建。这解决了我的问题。