我试图部署ASP.NET MVC 3应用程序到Windows 2008 X64服务器(运行。IIS 7.0明显),以及IIS不希望似乎正确地提供了内容。所有请求都会导致404.0错误,因为请求不匹配任何处理程序,并且IIS尝试使用StaticFile处理程序来处理请求。这个问题似乎与.NET 4.0有关,因为我有一个MVC 2应用程序在为.NET 2.0运行时配置的应用程序池中正常运行。获得404.0错误ASP.NET MVC 3应用程序在IIS 7.0/Windows Server 2008的
我有没有问题,在Windows 7和Windows Server 2008 R2部署此相同的应用到IIS 7.5服务器两者。
在部署之前,2008年的服务器没有.NET 4.0或安装ASP.NET MVC 3,所以这里有我承担部署应用之前的步骤:
- 安装了.NET 4.0
- 使用web平台安装
- 应用MS更新KB980368启用某些IIS 7.0或IIS 7.5处理程序来处理其URL的请求然ASPNET_REGIIS.EXE(从Framework64/v4.0.30319文件夹)
- 安装ASP.NET MVC 3不要以ap结尾eriod
对应用程序中的静态资源(JavaScript文件,图像等)的请求经历的顺利,但任何对MVC操作的请求都会失败,并出现404.0错误。我注意到IIS正在使用StaticFile处理程序来处理这些请求,这显然是不正确的。据我所知,ASP.NET 4.0处理程序(即ExtensionlessUrl-ISAPI-4.0 *处理程序)已被正确定义,所以我不知道为什么/如何处理请求不会由其中一个处理程序处理,向下到StaticFile处理程序。
我还遇到以下MS knowledge base article其中提到您应该确保HTTP重定向和静态内容压缩在您遇到404错误的服务器上启用/安装。我查了一下,并且这两个功能都已经为我的服务器启用了。我甚至尝试删除并重新安装功能无济于事。
在这一点上我完全没了主意的原因,这是不正常。我已经能够在2个不同的IIS 7.0服务器上复制该问题。我错过了什么?
首先:看看事件查看器,可以节省您的时间来找到妥善的解决办法。 – Dariusz 2011-02-25 13:07:02
@Dario:有关此问题的任何Windows日志中都没有提及。工作进程不会抛出任何异常,并且在4.0运行时之上正常运行。 ASP。NET也没有抛出任何异常,因为它永远不会被IIS调用,因为IIS试图使用StaticFile处理程序来处理请求。 – 2011-02-25 15:15:18
为了记录,我需要的是应用修补程序(子弹#4)。 – xanadont 2011-12-06 21:54:15