Ссылка на объект не установлена ​​в GetRouteData (System.Web.Routing) - PullRequest
3 голосов
/ 20 мая 2009

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

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

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

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

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

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

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

Любая помощь будет высоко ценится.

Ответы [ 3 ]

1 голос
/ 14 декабря 2009

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

1 голос
/ 14 июня 2009

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

0 голосов
/ 09 апреля 2014

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

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

...