在IIS 6上部署时,我正在努力解决来自asp.net mvc beta的404错误.我通过在IIS中映射.mvc在其中一个预览中工作,但这不再有效.我已经在网上阅读了奥马尔的帖子以及其他几个人,并尝试了他们的解决方案但到目前为止没有运气.
主页在IIS 6上打开没有问题,但其他404和该站点在IIS 7上运行良好.
有没有人成功将IIS.net mvc beta部署到IIS 6?如果是这样,您需要对代码和/或IIS设置进行哪些调整才能使其正常工作?
我从史蒂夫桑德森的博客(谢谢史蒂夫)找到了我的问题的解决方案:
使用通配符映射aspnet_isapi.dll
.这告诉IIS 6使用ASP.NET处理所有请求,因此总是调用路由,并且没有问题.它很容易设置:
打开IIS管理器(运行 - > inetmgr - >确定)
右键单击您的应用程序,转到"属性"
然后单击主目录选项卡,然后单击配置.
在通配符应用程序映射下,单击"插入"(不是"添加",这在上面是令人困惑的)
然后为"Executable"输入C:\ WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,并取消选中验证该文件是否存在.
我似乎还没有写评论.所以我会写一个新答案.
stackoverflow上有一些类似的问题.我正在使用MVC 3.我知道问题与MVC 2有关.但由于这是我遇到的第一个stackoverflow帖子,我认为值得一提的是:
当您使用MVC 3时,您需要添加一个新的扩展映射与.NET 4框架的可执行文件(C:\ WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll)
它仍然不适用于我:)我仍然必须在IIS的Web服务扩展部分'允许'ASP.NET v4.0.30319:
打开IIS
单击服务器节点
打开"Web服务扩展"部分
选择ASP.NET v4.0 ....
右键单击 - >允许好去!