首页 > 解决方案 > Windows Server 2016 上的 IIS 10 未运行我的 ASP.NET MVC 网站

问题描述

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

在此处输入图像描述

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

在此处输入图像描述

“默认网站”使用具有 v4.0 .NET CLR 版本的“DefaultAppPool”。

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

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

  2. 我也尝试添加<modules runAllManagedModulesForAllRequests="true"/> 到我的 webconfig 文件中,也没有运气。

  3. 在服务器上运行 aspnet_regiis -ir。它说该命令无法在此操作系统上运行,但仍然可以运行。但是,问题仍然存在。

标签: c#asp.net-mvciis-10

解决方案


我终于搞定了!!!

解决方案是转到控制面板,然后单击“打开和关闭 Windows 功能”,然后转到“服务器角色”->“Web 服务器 (IIS)”->“Web 服务器”->“应用程序开发”,在这里你需要确保安装了“.NET Extensability 4.6”和“ASP.NET 4.6”。

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


推荐阅读