【发布时间】:2019-04-02 05:01:56
【问题描述】:
我刚刚购买了一台安装了 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。它说该命令无法在此操作系统上运行,但仍然可以运行。但是,问题仍然存在。
【问题讨论】:
-
@mjwills 我在根文件夹中添加了一个“Hello world”html 文件并将其命名为“bob.html”。结果服务器甚至不会向我显示该文件..
-
@mjwills 好的,现在它显示 bob.html... 我重新启动了网站,它可以工作了。但仍然无法让 MVC 工作..
-
检查您是否谈到 (a) 正确的文件夹和 (b) 对文件夹的正确权限。如果任何软管不正确,IIS 将无法看到该文件。在 html 文件正常工作之前,请不要使用 asp.net。
-
@TomTom 单个 html 文件有效,它成功显示了 bob.html 中的内容。
-
好的,那么这部分工作。现在制作一个最小的 asp.net 应用程序。慢慢积累。
标签: c# asp.net-mvc iis-10