Ссылка на объект, не заданная в GetRouteData (System.Web.Routing)

StackOverflow https://stackoverflow.com/questions/888747

Вопрос

Это сводит меня с ума.Я внедрил Web.Маршрутизацию в приложении Web Forms.Приложение работает нормально, а затем необъяснимо (по крайней мере, на данный момент) выдается следующее сообщение об ошибке:

Ссылка на объект не установлена на экземпляр объекта.в System.Web.Routing.RouteCollection.Получить маршрутизируемые данные (HttpContextBase HttpContext) в System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(HttpContextBase контекст) в System.Web.Routing.UrlRoutingModule.OnApplicationPostResolveRequestCache(объект отправитель, EventArgs e) в приложении System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Выполнить() в System.Web.HttpApplication.ExecuteStep(IExecutionStep шаг, логическое значение и выполняется синхронно)

Эта ошибка является периодической, и никакая навигация по сайту не приведет к повторному появлению ошибки.

Моя интерпретация ошибки заключается в том, что запрос к серверу приводит к событию PostResolveRequestCache с нулевым HttpContext , но я не уверен, как это возможно.

Проблема устраняется путем перезапуска пула приложений.

Приложение запущено на IIS6, из-за этого я добавил подстановочную карту приложения в aspnet_isapi.dll флажок "Проверить, существует ли файл" снят.Это делается для того, чтобы включить понятные URL-адреса без расширений файлов, однако я рассматриваю возможность изменения этого в качестве возможного обходного пути.Мысль, стоящая за этим, заключается в том, что, возможно, на сервер отправляется запрос, который получает модуль, которого не должно быть.

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

Любая помощь была бы высоко оценена.

Это было полезно?

Решение

Добавление пользовательских расширений файлов не было идеальным решением, но предотвратило появление дальнейших сообщений об ошибках.

Другие советы

Может быть связано с изменяемым набором маршрутов.Видишь другой вопрос.

Эта ошибка согласуется с тем, что коллекция не является потокобезопасной в .Net.

Пожалуйста, ознакомьтесь с моим последним ответом на этот похожий вопрос

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top