我在我的MVC网站中遇到了一个奇怪的错误。我在我的控制器中有一个操作,它响应{controller}/{action}/{id}的默认路由 - 在我的例子中是/ Project/Client/{id}。ASP.NET MVC操作在某些参数上给404提供了什么?
根据我传给它的ID,我收到一个错误。随着Elmah的关闭,这是一个直接的ASP.NET 404错误。打开Elmah给我以下内容:
System.Web.HttpException
at System.Web.CachedPathData.GetConfigPathData(String configPath)
at System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath, Boolean permitPathsOutsideApp)
at System.Web.HttpContext.GetFilePathData()
at System.Web.HttpContext.GetConfigurationPathData()
at System.Web.Configuration.RuntimeConfig.GetConfig(HttpContext context)
at System.Web.HttpContext.get_ImpersonationToken()
at System.Web.ClientImpersonationContext.Start(HttpContext context, Boolean throwOnError)
at System.Web.HttpApplication.ThreadContext.SetImpersonationContext()
at System.Web.HttpApplication.ThreadContext.Enter(Boolean setImpersonationContext)
at System.Web.HttpApplication.OnThreadEnterPrivate(Boolean setImpersonationContext)
at System.Web.HttpApplication.ApplicationStepManager.ResumeSteps(Exception error)
这只发生在某些ID参数。例如
/Projects/Client/ABC -- works
/Projects/Client/DEF -- works
/Projects/Client/GHI -- 404
/Projects/Client/JKL -- works
等等...
任何线索?
你在你的应用程序中设置任何其他途径? – 2009-06-04 09:01:52
我还有一个也添加了页面参数,所以{控制器}/{动作}/{编号}/{页面} – Chris 2009-06-04 09:30:52