Asp.net mvc IIS 7中的ASP MVC导致:HTTP错误403.14-禁止
我正在开发一个ASP MVC web项目。现在我有一个需求,它迫使我在开发过程中部署到IIS7(以检查一些特性)。每当我尝试键入网站的URL时,就会收到上面提到的错误消息。(注:开发机器:Vista Home Premium,IIS7) 我到目前为止所做的: 编辑了主机文件(C:\WINDOWS\system32\drivers\etc\HOSTS) 在其中放置两个域(127.0.0.1domain1.com和127.0.0.1domain2.com) 创建了一个文件夹c:\websites\dirOfApplication,并从Visual Studio 8中部署到此文件夹 在IIS7中,创建了一个新站点,主机名为domain1.com,应用程序文件夹如上所述 在Web浏览器中键入地址domain1.com会导致上述错误(HTTP错误403.14-禁止-Web服务器配置为不列出此目录的内容。)Asp.net mvc IIS 7中的ASP MVC导致:HTTP错误403.14-禁止,asp.net-mvc,iis,hosting,Asp.net Mvc,Iis,Hosting,我正在开发一个ASP MVC web项目。现在我有一个需求,它迫使我在开发过程中部署到IIS7(以检查一些特性)。每当我尝试键入网站的URL时,就会收到上面提到的错误消息。(注:开发机器:Vista Home Premium,IIS7) 我到目前为止所做的: 编辑了主机文件(C:\WINDOWS\system32\drivers\etc\HOSTS) 在其中放置两个域(127.0.0.1domain1.com和127.0.0.1domain2.com) 创建了一个文件夹c:\websites\d
我想我错过了什么,但不知道是什么!尝试部署文件System.Web.Mvc、System.Web.Abstraction和System.Web.Routing,结果相同。每当我尝试按F5并运行应用程序时,它都可以正常工作 这是因为对你(我)正在做的事情太确定了 在我的计算机上安装了IIS 7,但未安装所需的ASP.NET组件(控制面板->程序->打开/关闭->ASP.NET)
所以安装这个解决了问题我也遇到了同样的问题。这篇Microsoft支持文章为我修复了它。
在Windows控制面板“程序和功能”应用程序的“打开或关闭Windows功能”对话框中,执行以下步骤:
aspnet\u regais-i
。我经常发现你需要这样做才能让4.0应用程序正常运行。以管理员身份打开命令提示符(右键单击命令提示符图标并选择以管理员身份运行):
安装并注册后,请确保应用程序正在使用设置为.NET 4.0的应用程序池
更新:我刚刚发现这个命令有问题。使用-i将所有应用程序池更新为ASP.NET 4.0
使用
aspnet\u regiis-ir
安装ASP.NET版本,但不会将任何web应用程序更改为此版本。您可能还需要查看-iru选项。如果您正在运行x64,请检查您是否已在应用程序池设置中启用32位应用程序
我也遇到了同样的错误,尽管提供了所有解决方案,但原因如下:
- 缺少DLL
- 数据库连接字符串指向无法访问的服务器
- 也许它对某人有用:
在使用.NET framework 4.5将我的应用程序转换为MVC 4并使用IIS 7.0在我的服务器上安装该框架后,我遇到了问题中提到的相同“禁止”错误。当我注意到问题时,我尝试了上面描述的所有选项,但都没有效果
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
我的web.config中缺少。
加上这个之后,一切都正常了。简单,但容易被忽视
编辑:
当然,上述解决方案会奏效,但这确实是浪费资源。我认为最好像评论中所指出的那样添加路由模块
<system.webServer>
<modules>
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
</modules>
</system.webServer>
在我的例子中,web.config和除/bin文件夹以外的所有文件都丢失了(没有以某种方式复制)。
愚蠢,但这是我最后一次检查。我也遇到了这个错误。所有配置和权限都正确。
但是我忘了将Global.asax复制到服务器,这就是导致403错误的原因。请注意,有时错误的
托管管道模式将导致此错误。有两种选择可选择集成
和经典
我最近遇到此错误,发现问题是由于Windows服务器上未启用“HTTP重定向”功能造成的。这篇博文帮助我解决了疑难问题,找到了答案(尽管是较旧的Windows Server版本):对于较新的服务器,请转到“计算机管理”,然后向下滚动到Web服务器角色,然后单击“添加角色服务”
,在我的案例中,以下方法帮助了我:
Windows\Microsoft.Net\Framework
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
...
</system.webServer>
...
我一直在使用身份模拟:
<system.web>
<identity impersonate="true" userName="domain\username" password="password"/>
</system.Web>
向上推服务器时,您必须授予用户名对临时ASP.NET
文件文件夹的访问权限,以便它能够正确读取/写入/执行:
C:\Windows\Microsoft.NET\“frameworkversion”\“aspversion”\临时ASP.NET文件
显然,用您正在使用的版本替换“frameworkversion”和“aspversion” 步骤1:选择IIS中产生HTTP错误的站点,然后单击目录浏览,如下图所示: 步骤2:在IIS的目录浏览窗口中,在右侧的操作中单击启用,如下图所示: 现在asp.net网站已启用目录浏览,只需在IIS中重新启动web应用程序并在浏览器中浏览该网站即可
<system.web>
<identity impersonate="true" userName="domain\username" password="password"/>
</system.Web>
<precompiledApp version="2" updatable="true"/>
dism /online /enable-feature /featurename:IIS-ASPNET45 /all
<!-- was -->
<runtime>
<assemblyBinding>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
<!-- should have been -->
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
dism /online /enable-feature /all /featurename:IIS-ASPNET45