【发布时间】:2015-01-02 13:11:33
【问题描述】:
我正在尝试在 IIS7.5 上部署 MVC4,但我遇到了一些问题。 我有
- 已安装 Windows Server 2008 R2
- 已安装 .NET 4.0
- 已安装 Web Deployment 64 工具
- 已安装 IIS 7.5 角色(带有 ASP.NET 和管理服务)
- 我将域名添加到指向服务器 IP 地址(开发机器)的 .hosts 文件中
- 我创建了支持 .NET 4.0 的 Web 池
- 我创建了指向 C:\www\AppName 的网站并将该网站添加到以前的 AppPool
- 我创建了 C:\www\AppName 文件夹并部署到该文件夹 MVC4 app (Visual Studio 项目中的发布方法)
- 我创建了网站
- 我在 IE 中添加了域名,但出现此错误
HTTP 错误 403.14 - 禁止 Web 服务器配置为不列出此目录的内容。
我阅读了一些文章,默认情况下我在 Web.Config 文件中有这个
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
我也试过
<system.webServer>
<modules>
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
</modules>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
它给了我同样的错误,但是如果我删除
<validation validateIntegratedModeConfiguration="false" />
在这两种情况下都会给我这个错误
HTTP 错误 500.24 - 内部服务器错误 ASP.NET 设置已被 检测到不适用于集成托管管道模式。
我必须做些什么才能正确设置?这是我的第一个 MVC4 项目,应用程序将被 Windows 身份验证的少数用户使用几次。
编辑: 解决方案是使用虚拟目录。 提示:VS 2010 能够自行创建和配置虚拟目录。 (项目属性 > Web > 创建虚拟目录)
【问题讨论】:
-
你见过this question吗?
-
2 个问题:你能在你的 IISExpress(开发机器)上运行和访问页面吗?你能把你的网站配置为使用 IIS(在你的机器上)在本地运行吗?第三,你能检查 IIS 错误以查看发生了什么
-
我刚刚在我的 Windows 7 上完成了本地 IIS 7.5 设置,没有 DB 它工作正常(DB 是我的本地,我无法从 IIS 连接到它,但没关系,因为它是开发只有和生产是在普通的数据库服务器上)我通过项目属性做到了,让 Visual Studio 创建和设置虚拟目录。当我将它发布到我在主帖中描述的配置的 IIS 服务器时,它不起作用,它会引发相同的错误。但我认为,如果我将使用本地 IIS 中的虚拟目录设置,它可能会起作用。
标签: asp.net-mvc-4 iis-7.5