Asp.net mvc IIS 8-尽管运行AllManagedModulesForallRequests,但仍通过托管管道的静态文件请求=";假;
我有一个ASP.NET MVC 2 Web应用程序,它在我本地的Cassini服务器上运行良好,几个月前我上次在IIS 7.5上测试它时,它也运行良好 My web.config如下所示(删除了不相关的部分):Asp.net mvc IIS 8-尽管运行AllManagedModulesForallRequests,但仍通过托管管道的静态文件请求=";假;,asp.net-mvc,iis,routing,iis-8,Asp.net Mvc,Iis,Routing,Iis 8,我有一个ASP.NET MVC 2 Web应用程序,它在我本地的Cassini服务器上运行良好,几个月前我上次在IIS 7.5上测试它时,它也运行良好 My web.config如下所示(删除了不相关的部分): 更新:我已经在我的Windows 8企业笔记本电脑上安装了IIS 8,令我惊讶的是,它在Windows 8企业笔记本电脑上按预期工作-因此我的Windows 8笔记本电脑和Server 2012 Azure VM之间存在一些配置差异。嗯。我开始寻找本地机器和Azure VM的IIS配置之
更新:我已经在我的Windows 8企业笔记本电脑上安装了IIS 8,令我惊讶的是,它在Windows 8企业笔记本电脑上按预期工作-因此我的Windows 8笔记本电脑和Server 2012 Azure VM之间存在一些配置差异。嗯。我开始寻找本地机器和Azure VM的IIS配置之间的差异,并找到了解决方案: 我忽略了IIS>{website}>Authentication>匿名配置:在Azure VM上,它被设置为不存在的用户的特定用户!而在我的本地IIS中,它被设置为应用程序池标识 我将其更改为应用程序池标识,现在它可以按预期工作 我很惊讶IIS没有给我任何其他错误消息或更有用的方法来诊断问题。Hmpf
<?xml version="1.0"?>
<configuration>
<system.web>
<authentication mode="Forms">
<!-- 2880 minutes is 48 hours -->
<forms loginUrl="~/Welcome/Login" timeout="2880" slidingExpiration="true" />
</authentication>
<customErrors mode="RemoteOnly" />
<httpHandlers>
<remove verb="*" path="*.asmx" />
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true">
<remove name="ScriptModule"/>
<remove name="UrlRoutingModule"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<remove name="ScriptHandlerFactory"/>
<remove name="ScriptHandlerFactoryAppServices"/>
<remove name="ScriptResource"/>
<remove name="UrlRoutingHandler"/>
<add name="ScriptHandlerFactory" preCondition="integratedMode" verb="*" path="*.asmx" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptHandlerFactoryAppServices" preCondition="integratedMode" verb="*" path="*_AppService.axd" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</handlers>
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="Views\Shared\Iis404.htm" responseMode="File" />
</httpErrors>
</system.webServer>
</configuration>
routes.IgnoreRoute("Scripts/{*pathInfo}");
routes.IgnoreRoute("Styles/{*pathInfo}");
routes.IgnoreRoute("favicon.ico");