0 votes

L'utilisateur n'est pas disponible dans ce contexte - erreur générée après la mise à niveau de l'application ASP.Net MVC vers .Net 4.0

Je essaie de déplacer une application ASP.Net MVC de 3.5 à 4.0 mais je rencontre des problèmes. La mise à jour s'est passée assez bien et l'application fonctionne sur le serveur Cassini mais lorsqu'elle est exécutée sur IIS7, l'erreur suivante est lancée:

[HttpException (0x80004005): L'utilisateur n'est pas disponible dans ce contexte.] System.Web.HttpApplication.get_User() +4640350 System.Web.Handlers.ScriptModule.Init(HttpApplication app) +26 System.Web.Handlers.ScriptModule.System.Web.IHttpModule.Init(HttpApplication context) +15 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +546 System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +325 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +407 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +375

[HttpException (0x80004005): L'utilisateur n'est pas disponible dans ce contexte.] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11523504 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4777557

L'application fonctionnait/b fonctionne bien sur IIS7 en utilisant 3.5 - Le routage fonctionne et je peux interrompre l'exécution dans le fichier Global.asax en parcourant les routes et en configurant l'usine de contrôleurs. J'ai configuré une deuxième application de test simple pour voir si cela était propre à l'application ou se produisait de manière générale et j'ai pu reproduire l'erreur en demandant n'importe quelle URL de l'application de test. J'ai ajusté et réinitialisé un certain nombre de paramètres de configuration IIS et j'ai essayé de désactiver le ScriptModule, tout cela en vain.

Toute aide est appréciée.

0voto

Raj Kaimal Points 7133

Peut avoir quelque chose à voir avec votre web.config. Créez un nouveau projet MVC 2 et comparez le web.config avec votre web.config existant.

0voto

CarlosAg Points 6245

Je ne suis pas familier avec ces gestionnaires, mais d'après l'erreur, il semble que cela pourrait fonctionner si vous modifiez l'Application Pool pour qu'il fonctionne en Mode Classique. Je ne sais pas s'il y a une meilleure solution, mais d'après le message, il semble qu'il accède à l'Utilisateur trop tôt, ce qui n'arrive que lorsque vous exécutez en Mode Intégré.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X