一夜之间,一个(内部的,幸运的)MVC网络应用程序已停止为我工作,据我所知没有任何改变。在过去的两天里,应用程序本身并没有被修改过,IIS也是如此。
问题是我得到了我的www文件夹的目录列表,而不是应用程序默认操作(/Home/Index
)。
我的www文件夹包含标准内容:
bin
Content
Scripts
Views
Global.asax
Web.config
我试过了:
现在,这发生过一次。在我度假的时候,通过重新启动整个万维网发布服务解决了这个问题。虽然这次也可能有用,但我想在暂时解决问题之前找出问题的根源,以便让它在未来再次发生。因此,当WWW Publishing Service重新启动时,可能会让网站再次运行,我宁愿在解决这个问题之前先了解它为什么会发生这种情况。
最后,请注意我在同一个IIS服务器上运行其他MVC应用程序,并且从未遇到过这个问题。
答案 0 :(得分:21)
C:\Windows\Microsoft.NET\Framework\<version>
文件夹。aspnet_regiis -i
这就是全部!
答案 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版本可能会有所帮助。
答案 6 :(得分:0)
我遇到了同样的问题,这就是我的解决方法。
尽管从WebAPI项目(而不是Web项目)继承了TFS服务器上的Global.asax文件,但在Visual Studio中选择了该Web项目作为启动项目时,我遇到了问题。运行构建时,Web API被设置为Web服务器上的启动项目,因为它是在从WebAPI项目继承的TFS服务器上部署该版本。为解决此问题,我将另一个项目设置为启动项目,然后在Visual Studio中再次将Web项目更改为启动项目。我必须这样做,因为TFS抱怨说,当我尝试将计算机上的版本检查到TFS中时,没有未决的更改。然后,我签入代码并再次运行构建。这解决了我的问题。