我刚刚购买了新的基于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同名的物理文件,当然找不到它。我尝试过的解决方案:
还有另一篇文章提到IIS模块配置中的“ UrlRoutingModule-4.0”。就我而言,路由模块由于某种原因不存在。我添加了,但是没有任何变化。此外,每次我从VS重新发布网站时,部署成功后该模块都会消失。
我还尝试将<modules runAllManagedModulesForAllRequests="true"/>
添加到我的webconfig文件中,也没有运气。
在服务器上运行aspnet_regiis -ir。它说该命令不能在此操作系统上运行,但无论如何仍然可以运行它。但是,问题仍然存在。
答案 0 :(得分:4)
我终于成功了!!
解决方案是转到控制面板,然后单击“打开和关闭Windows功能”,然后转到“服务器角色”->“ Web服务器(IIS)”->“ Web服务器”->“应用程序开发” ,在这里您需要确保同时安装了“ .NET可扩展性4.6”和“ ASP.NET 4.6”。
显然,当安装IIS 10时,默认情况下将不会安装它们。谢谢大家的帮助。
答案 1 :(得分:0)