我正在将 asp.net MVC3 应用程序从测试箱移到实时服务器。我注意到,尽管它在测试箱上一直运行
Windows Server 2003 Web 版 SP2
没有通配符脚本映射(在网站或“网站”级别):我认为这是 IIS6 所需要的,并且我认为上述服务器中的 IIS 是 IIS6...
那么,为什么上述网站可以工作。我想我使用 Web 平台安装程序安装了 ASP.NET MVC3。其中提到了有关 IIS7 首选配置的内容。这是否与此有关,我是否可以将其复制到实时框中?实时服务器当前需要通配符脚本映射。
答案1
应用程序级别是否存在一组脚本映射(包括通配符)?
AFAIK:
如果您的 MVC 应用程序已部署到 http://服务器/,您需要在站点级别使用通配符。
如果部署到 http://服务器/appdir/,你只需要在appdir级别使用它。
编辑:一切都变得清晰...http://haacked.com/archive/2010/12/22/asp-net-mvc-3-extensionless-urls-on-iis-6.aspx- 从 .Net 4.0 开始,ASPNET_ISAPI 过滤器可以处理这个问题。(在早期版本中,它还用于处理无 cookie 会话状态 URL - 只是功能更加多样)。