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
のように...のための
どれ手がかりは?
アプリケーションで設定し、他のルートを持っていますか? –
私はページのパラメータも追加していますので、{controller}/{action}/{id}/{page} – Chris
"GHI"の例のユニットテストはありますか?これは、実際にルーティングの問題があり、コントローラのロジックに問題がないことを確認するのに役立ちます。 –