Это сводит меня с ума. Я внедрил 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-адреса без расширений файлов, однако я рассматриваю возможность изменения этого как возможную работу. Мысль об этом заключается в том, что на сервер, возможно, отправляется запрос, который подбирается к модулю, которого не должно быть.
Моя реализация была настроена, но следует основным принципам, установленным г-ном Хааком. Из-за характера ошибки я не уверен, предоставит ли какой-либо из моего кода много проницательности, но я, очевидно, готов сделать это по запросу.
Любая помощь будет высоко оценена.
В ожидании решения, я теперь вернулся к использованию расширений файлов в дружественный URL. – kim3er