Je reçois une erreur étrange dans mon site MVC. J'ai une action dans mon contrôleur qui répond à la route par défaut de {controller}/{action}/{id} - dans mon cas,/Project/Client/{id}.Action ASP.NET MVC donne 404 sur certains paramètres?
En fonction de l'ID que je lui passe, j'obtiens une erreur. Avec Elmah éteint, c'est une erreur d'ASP.NET 404. Activer Elmah me donne ce qui suit:
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)
Cela se produit uniquement avec certains paramètres d'ID. par exemple
/Projects/Client/ABC -- works
/Projects/Client/DEF -- works
/Projects/Client/GHI -- 404
/Projects/Client/JKL -- works
et ainsi de suite ...
Des indices?
Avez-vous d'autres itinéraires mis en place dans votre application? –
J'en ai un qui ajoute aussi un paramètre de page, donc {controller}/{action}/{id}/{page} – Chris
Avez-vous un test unitaire pour l'exemple "GHI"? Cela aiderait à s'assurer que vous avez vraiment un problème de routage et pas un problème dans la logique du contrôleur. –