2009-05-20 5 views
3

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

Ссылка на объект не указывает на экземпляр объекта. на System.Web.Routing.RouteCollection.GetRouteData (HttpContextBase HttpContext) при System.Web.Routing.UrlRoutingModule.PostResolveRequestCache (HttpContextBase контекста) при System.Web.Routing.UrlRoutingModule.OnApplicationPostResolveRequestCache (Object отправителя, EventArgs е) при System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() в System.Web.HttpApplication.ExecuteStep (IExecutionStep шаг, булева & completedSynchronously)

Эта ошибка прерывистая, и никакая часть навигации по сайту не воссоздает ошибку.

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

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

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

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

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

+0

В ожидании решения, я теперь вернулся к использованию расширений файлов в дружественный URL. – kim3er

ответ

1

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

0

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

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