使用asp.net MVC4开发的网站,在本地的VS012环境下运行,一切正常。但当发布到Windows 2008 R2(IIS7.5 + Framework4.5)上时,访问相关网页时,出现有下面的提示:
由于此前在IIS7.5上已经成功发布asp.net Webform开发的网站,同时,静态的.html网页也可以显示出来,初步判定是MVC本身特有的路由处理没有设置,所以导致IIS认为URL地址是一个物理文件,因此无法找到并渲染。
网上查询后得知,需要在根目录下的Web.config文件中<system.webServer>节点下添加一条配置<modules runAllManagedModulesForAllRequests="true" />,设置URL请求可以由路由处理。再运行,问题解决。