我在IIS6上運行的asp.net MVC的網站 - 我已經編輯我的路由如下所示:ASP.net MVC HttpException奇怪的文件
routes.MapRoute(
"Default",
"{controller}.aspx/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
routes.MapRoute(
"Root",
"",
new { controller = "Home", action = "Index", id = "" }
);
所以我所有的網址現在包含。 aspx(根據Phil Haack的解決方案之一)。現在,我趕上使用ELMAH所有未處理的異常,並且幾乎每一個頁面請求,我得到ELMAH抓住了以下錯誤,我從來沒有看到在前端(一切完美):
System.Web.HttpException: The file '/VirtualDirectoryName/Home.aspx' does not exist.
System.Web.HttpException: The file '/VirtualDirectoryName/Home.aspx' does not exist.
at System.Web.UI.Util.CheckVirtualFileExists(VirtualPath virtualPath)
at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile)
at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile)
at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean noAssert)
at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert)
at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
at System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
at System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig)
at System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
有一個家庭控制器,它應該被發現,但我不知道a)這是從哪裏調用,以及b)爲什麼我沒有看到前端的這個錯誤。有任何想法嗎?
具有.aspx擴展名是存在的,因爲它需要的Th允許我在IIS6上本地運行,它不支持上述方法。 – Paddy 2009-12-03 16:41:02