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