有没有办法阻止对 MVC 3 beta 1 中 Razor 视图的访问(404)?当我创建一个全新的空白站点(IIS7)然后从浏览器访问 /views/home/index.cshtml 而不是 404 我得到这个
[InvalidCastException: Unable to cast object of type 'ASP.Index_cshtml' to type 'System.Web.IHttpHandler'.]
System.Web.WebPages.WebPageHttpHandler.CreateFromVirtualPath(String virtualPath, VirtualPathFactoryManager virtualPathFactoryManager) +56
System.Web.WebPages.WebPageRoute.DoPostResolveRequestCache(HttpContextBase context) +253
System.Web.WebPages.WebPageHttpModule.OnApplicationPostResolveRequestCache(Object sender, EventArgs e) +89
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +148
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
默认情况下,views 文件夹中的 web.config 文件设置为阻止所有文件请求,但显然这个请求仍然通过。
重现步骤:
文件 -> 新项目
ASP.NET MVC 3 Web 应用程序
Internet 应用程序 (Razor)
F5
导航到 /views/home/index.cshtml