asp.net MVC 3,静态资源使用 “本地IIS Web服务器” 当404'ing
这里的情况:asp.net MVC 3,静态资源使用 “本地IIS Web服务器” 当404'ing
- ASP.NET使用剃刀作为视图引擎MVC 3应用程序。
- 在Visual Studio开发服务器(Cassini)下工作正常
- 然而,当我切换到“使用本地IIS Web服务器”,网站的功能,但每个静态资源404s(再次,卡西尼没有问题) 。
- ASP.NET 4.0,Windows 7 Ultimate x64,IIS 7.5,集成管道,网络服务作为应用程序池标识。
具体来说,试图访问已知存在的静态文件(即删除应用程序文件,特别是具有路径信息的DLL等,并且它没有问题地提供)的例外。同样,这种情况发生的所有静态文件,包括即/public/scripts/jquery.js:在路径
错误:/favicon.ico 原始地址:/favicon.ico 消息:路径“/favicon.ico ' 没找到。 来源:System.Web程序 堆栈跟踪:在System.Web.HttpNotFoundHandler.ProcessRequest(HttpContext的上下文) 在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication .ExecuteStep(IExecutionStep步骤,布尔& completedSynchronously) TargetSite:空隙的ProcessRequest(System.Web.HttpContext)NLogLogger.Fatal => NLogLogger.Fatal => LoggerImpl.Write
我感到困惑。我已经验证了此机器上的VS Development Server和本地IIS Web服务器下的测试默认ASP.NET MVC 3应用程序运行良好。
我的希望是别人遇到了类似的问题。如果有帮助,这里是我的路线:
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("favicon.ico");
routes.MapRoute(
"Login", // Route name
"login", // URL with parameters
new { controller = "Session", action = "Create" } // Parameter defaults
);
routes.MapRoute(
"Logout", // Route name
"logout", // URL with parameters
new { controller = "Session", action = "Delete" } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
回答:
当然,它原来是一些非常简单:有根Web.config定义仅仅是查看目录的Web.config
,而不是一个HttpHandler<handlers> <remove name="BlockViewHandler" />
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
显而易见,但希望通过张贴在这里可以节省别人在如此明显的事情上浪费时间。有关更多信息,请参见http://haacked.com/archive/2008/06/25/aspnetmvc-block-view-access.aspx。
以上是 asp.net MVC 3,静态资源使用 “本地IIS Web服务器” 当404'ing 的全部内容, 来源链接: utcz.com/qa/264849.html