Пользователь недоступен в этом контексте - ошибка возникла после обновления приложения ASP.Net MVC до .Net 4.0 - PullRequest
0 голосов
/ 04 июля 2010

Я пытаюсь переместить приложение ASP.Net MVC с 3.5 на 4.0, но сталкиваюсь с проблемами. Обновление прошло достаточно гладко, и приложение работает на сервере Cassini, но при запуске на IIS7 выдается следующая ошибка:

[HttpException (0x80004005): пользователь недоступен в этом контексте.] System.Web.HttpApplication.get_User () +4640350 System.Web.Handlers.ScriptModule.Init (приложение HttpApplication) +26 System.Web.Handlers.ScriptModule.System.Web.IHttpModule.Init (контекст HttpApplication) +15 System.Web.HttpApplication.RegisterEventSubscriptionWithIIS (IntPtr appContext, контекст HttpContext, обработчики MethodInfo []) +546 System.Web.HttpApplication.InitSpecial (состояние HttpApplicationState, обработчики MethodInfo [], IntPtr appContext, контекст HttpContext) +325 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance (IntPtr appContext, HttpContext context) +407 System.Web.Hosting.PipelineRuntime.InitializeApplication (IntPtr appContext) + 375

[HttpException (0x80004005): пользователь не доступен в этом контексте.] System.Web.HttpRuntime.FirstRequestInit (контекст HttpContext) +11523504 System.Web.HttpRuntime.EnsureFirstRequestInit (контекст HttpContext) +141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest wr, контекст HttpContext) + 4777557

Приложение работает / работает нормально на IIS7 при использовании 3.5 - Маршрутизация работает, и я могу разбить файл Global.asax, просматривая маршруты и настраивая фабрику контроллеров. Я настроил второе простое тестовое приложение, чтобы посмотреть, было ли это уникальным для приложения или происходило по всем направлениям и смогло ли повторить ошибку, запрашивая любой URL из тестового приложения. Я настроил и сбросил любое количество параметров конфигурации IIS и попытался отключить ScriptModule, но все безрезультатно.

Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 05 июля 2010

Я не знаком с этими обработчиками, но из-за ошибки кажется, что это может сработать, если вы измените пул приложений для запуска в классическом режиме. Не уверен, что есть лучшее исправление, но из сообщения похоже, что он слишком рано обращается к Пользователю, что происходит только тогда, когда вы работаете в Интегрированном режиме.

0 голосов
/ 04 июля 2010

Может иметь какое-то отношение к вашему web.config.Создайте новый проект MVC 2 и сравните файл web.config с существующим файлом web.config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...