【发布时间】:2014-02-14 10:58:58
【问题描述】:
好的,所以我在 VS 2013 中构建了一个 MVC Web 应用程序。我已经能够通过本地计算机上的 IIS 成功托管这个应用程序,没有任何问题。但是我现在需要托管在远程机器上。我已按照与本地计算机上相同的步骤进行操作,但不断出现错误。
当我尝试浏览 Web 应用程序时,我收到一个错误 HTTP 错误 403.14 - Forbidden Web 服务器配置为不列出此目录的内容。但是,我创建了一个默认文档,因为此错误的详细信息告诉我,现在每次我尝试访问应用程序(localhost/MyWebApp)时,它都会转到该 default.html。
但是,当我指定要转到特定控制器(例如 localhost/MyWebApp/Home)时,我收到 404 错误(HTTP 错误 404.0 - 未找到 您要查找的资源已被删除、名称已更改或暂时不可用。)
我目前尝试托管的机器由于各种原因没有安装 Visual Studio,但我已经在其上安装了 ASP.NET MVC 3 和 .NET 4.5 Framework。远程机器 IIS 上的默认网站也已经成功运行了一个 classic.net 应用程序。
我的想法是:
1 - 我缺少一些托管 asp.net mvc 应用程序所需的先决条件(可能是与 Visual Studio 一起安装的)
或者
2 - IIS 中的某些内容配置不正确。
欢迎任何建议,因为几个小时的观察没有找到答案,而且我已经用尽了我对 IIS 的了解
编辑
已经想通了,并在下面标记为答案。
【问题讨论】:
-
你能显示你的 web.config 吗?
-
我已将其添加到问题中。
-
嗯 - 和 Global.asax?包括Route-Config。
-
再次默认。如果您认为它可能会导致问题,我会发布它,但如果它确实存在问题,那么当本地托管在 IIS 上时,应用程序将无法运行,不是吗?
-
这听起来可能很愚蠢,但我曾经有过类似的事情...... .NET 4.5 是否正确安装和注册? (确保从 Framework64 调用 aspnet_regiis.exe)
标签: asp.net asp.net-mvc asp.net-mvc-4 iis