Oma*_*mar 336 .net-4.0 iis-7.5
我使用Visual Studio 2010 RC运行Windows 7旗舰版(64位).我最近决定让VS在IIS上运行/调试我的应用程序而不是随附的开发服务器.
但是,每次我尝试运行MVC应用程序时,都会收到以下错误:
HTTP错误403.14 - 禁止Web服务器配置为不列出此目录的内容.详细
错误信息
模块DirectoryListingModule
通知ExecuteRequestHandler
处理程序StaticFile错误
代码0x00000000请求
URL http:// localhost:80/mySite /
物理路径C:\ myProject\mySite \
登录方法匿名登录
用户匿名
我default.aspx
在目录中放置了一个文件,我收到以下错误:
HTTP错误500.21 - 内部服务器错误处理程序"PageHandlerFactory-Integrated"在其模块列表中有一个错误的模块"ManagedPipelineHandler"
有没有其他步骤我忘了采取这个工作?
注意:我在安装VS 2010 RC后安装了IIS 7.5.我使用了Visual Studio 2010中MVC项目的"属性"中"Web"选项卡下的内置"创建虚拟目录"按钮.我确保该应用程序使用的是ASP.NET 4应用程序池.
以下是我所拥有的IIS的已安装功能.
Oma*_*mar 498
ASP.NET 4未在IIS中注册.必须在命令行/运行中运行以下命令
32位(x86)Windows
%windir%\ Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir
64位(x64)Windows
%windir%\ Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
David Murdoch的评论:
自发布此答案以来,.net版本已发生变化.检查%windir%\ Microsoft.NET\Framework64目录中的框架版本,并在运行之前相应地更改命令(目前为v4.0.30319)
Mar*_*tuc 199
确保您拥有的另一件事是web.config中的以下设置:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
Pre*_*ngh 77
确保web.config中包含以下内容:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
更好的方案:
尽管上面的解决方案工作得非常好,但它可能会导致其他问题,因为它会在每个请求上运行所有已注册的HTTP模块(即使是每次请求.jpg .gif .css .html .pdf等),这显然是浪费资源.代替
<system.webServer>
<modules>
<remove name="UrlRoutingModule-4.0"/>
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" preCondition="" />
</modules>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
确保preCondition属性为空意味着它将在所有请求上运行.[阅读更多](http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html,"阅读原帖")
Zip*_*pyV 42
有人可能会收到此错误的另一个原因是文件Global.asax不再位于根文件夹中.
tod*_*tta 20
我也收到此错误,并发现Windows Server中未启用"HTTP重定向".这篇博文也指出了这一点:http://blogs.msdn.com/b/rjacobs/archive/2010/06/30/system-web-routing-routetable-not-working-with-iis.aspx
Sea*_*son 15
甜蜜的耶稣.我尝试了以上所有的东西(但发现我的设置相同).如果您遇到问题,请再解决一下问题:
http://support.microsoft.com/kb/980368
尝试为您的系统安装此KB.如果你看到404,那可能是因为你没有这个更新 - 而isapi模块就是没有找到,如果没有这个,你就无法做到这一点!
对于使用Asp.Net MVC 5应用程序的Azure Server 2012 R2 IIS 8.5 VM(bin部署MVC 5),我必须从提升的cmd提示符执行以下操作,即使我已经安装了4.5:
dism /online /enable-feature /featurename:IIS-ASPNET45
Run Code Online (Sandbox Code Playgroud)
资料来源:http://support.microsoft.com/kb/2736284
我还通过以下PowerShell强制安装了所有IIS功能:
import-module servermanager
add-windowsfeature web-server -includeallsubfeature
Run Code Online (Sandbox Code Playgroud)
资料来源:http://www.iis.net/learn/install/installing-iis-85/installing-iis-85-on-windows-server-2012-r2
现在我的应用程序正在运行
小智 6
我们将MVC应用程序移动到新服务器.安装了.NET 4和MVC 3,但我们仍然得到"错误403.14".在这种情况下,这意味着IIS不理解它正在处理MVC应用程序,它正在寻找默认页面.
解决方案很简单:服务器上未安装HTTP重定向.
服务器管理器 - 角色 - Web服务器(IIS) - 角色服务 - HTTP重定向:未安装.安装好了,问题解决了.
归档时间: |
|
查看次数: |
299852 次 |
最近记录: |