Windows Server 2016 上的 IIS 10 而不是 运行 我的 ASP.NET MVC 网站

IIS 10 on Windows Server 2016 not running my ASP.NET MVC website

我刚买了一台新的基于云的虚拟机,安装了 Windows 服务器 2016。我还确保 IIS 10 安装了 .NET Framework 4.6 和 ASP.NET 4.6。

我的 ASP.NET MVC 应用程序以 .NET 4.5 为目标,并使用 Web 部署成功发布到此服务器上的 'Default Web Site'。 (您可以在此处查看所有 asp.net mvc 发布的文件)

'Default Web Site' 使用具有 v4.0 .NET CLR 版本的 'DefaultAppPool'。

但是当我在浏览器中打开网页时,收到“403 - 禁止访问:访问被拒绝”。错误。我进行了研究,在我看来,IIS 似乎从未尝试将其作为 ASP.NET MVC 应用程序打开。它只是试图找到与 'controller/Action'.html 同名的物理文件,当然找不到。我尝试过的解决方案:

  1. 还有一个 post 提到了 IIS 模块配置中的 'UrlRoutingModule-4.0'。就我而言,路由模块由于某种原因不存在。我添加了它,但没有任何变化。此外,每次我从 VS 重新发布网站时,部署成功后模块就会消失。

  2. 我也尝试将 <modules runAllManagedModulesForAllRequests="true"/> 添加到我的 webconfig 文件中,但也不成功。

  3. 运行 aspnet_regiis -ir 在服务器上。它说命令不能在这个操作系统上 运行 但无论如何仍然 运行 它。但是,问题仍然存在。

我终于搞定了!!!

解决方法是进入控制面板,然后点击'Turn windows feature on and off',然后进入'Server Roles' -> 'Web Server (IIS)' -> 'Web Server' -> 'Application Development' ,在这里您需要确保安装了“.NET Extensability 4.6”和 'ASP.NET 4.6'。

显然在安装 IIS 10 时,默认情况下不会安装这些。感谢大家的帮助。