[英]Asp.Net httpcontext.current.request works on virtual windows server 2012 running iis7 but not on windows server 2016 iis10
[英]IIS 10 on Windows Server 2016 not running my ASP.NET MVC website
我刚刚购买了一台安装了 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。 它说该命令无法在此操作系统上运行,但仍然可以运行。 然而,问题仍然存在。
我终于搞定了!
解决方案是转到控制面板,然后单击“打开和关闭Windows功能”,然后转到“服务器角色” - >“Web服务器(IIS)” - >“Web服务器” - >“应用程序开发”,在此处需要确保安装了“.NET Extensability 4.6”和“ASP.NET 4.6”。
显然,当安装IIS 10时,默认情况下不会安装这些。 谢谢大家的帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.