如何在 IIS 6(Windows 2003 R2)上配置 ASP.NET MVC 3

如何在 IIS 6(Windows 2003 R2)上配置 ASP.NET MVC 3

可能重复:
将 ASP.NET MVC 部署到 Windows Server 2003

我得到了 403 目录列表被拒绝的根和 404 为一个我知道应该存在的操作。

背景:很久以前,我构建并部署了一个 ASP.NET MVC 2 应用程序。后来我将其升级到 MVC 3,它仍然在正常工作,配置没有更改。最初在 Windows 2003 R2(标准版)上进行设置很麻烦,但经过几天(是的,几天)的努力,它开始工作了。

现在我必须在不同网络上的不同服务器(再次是 2003 R2 标准版)上对同一个应用程序执行相同操作。

  • .Net 4 已安装并允许
  • ASP.NET MVC 3 也已安装
  • 默认情况下,IIS 设置为使用 .net 4
  • 我验证应用程序扩展中使用的 aspnet_isapi.dll 来自版本 4.0.30319 .NET 程序集文件夹。
  • 我还将通配符映射添加到 aspnet_isapi.dll 并且未检查验证文件是否存在。
  • 在身份验证方法中的目录安全性下,我已禁用匿名访问并启用集成 Windows 身份验证(与其工作的服务器上的身份验证相同)
  • 我已经复制了相同的 web.config

<authentication mode="Windows" />

<authorization> <deny users="?" /> </authorization>

  • 我已为 Networkservice 帐户(应用程序池正在其下运行)设置了“读取和执行”、“列出文件夹内容”和“读取”权限。我还为网络帐户、IIS_WPG、ASPNET 和 IUSR_MAchineName 设置了相同的权限。
  • 我没有 EnableExte‌​nsionlessUrls,但即使我创建它并将其设置为 true 或 false 也无济于事。
  • 我也试过 http://haacked.com/archive/2010/12/22/asp-net-mvc-3-extensionless-urls-on-iis-6.aspx 但这并没有什么帮助。

但是我一直得到 403 目录列表被拒绝的根和 404 的我知道应该存在的操作。

然后使用 Web 平台安装程序重新安装并可能更新 .net、asp.net 等。然后我注意到 IIS 已重置为默认值。所以我再次添加了通配符映射。不,运气还是 403。

我从工作服务器设置中导出配置文件,并使用这些配置创建了新的默认应用程序池和新的默认网站。

我仍然得到 403 目录列表被拒绝的 / 和 404 任何我尝试的操作。

答案1

导致 404 和 403 的另一个原因是缺少 Global.asax,这要归功于将 ASP.NET MVC 部署到 Windows Server 2003我也能修复它。

相关内容