Я слышал хорошие отзывы о Softsys Hosting, и поэтому решил перенести свое решение ASP.NET MVC на них. Но это не будет работать на них. Я смог определить проблему с помощью моих обработчиков событий BeginRequest. Если бы они были у меня, я бы получил ошибку. Вот мой код.
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
this.BeginRequest += new EventHandler(MvcApplication_BeginRequest);
this.EndRequest += new EventHandler(MvcApplication_EndRequest);
}
void MvcApplication_EndRequest(object sender, EventArgs e)
{
}
void MvcApplication_BeginRequest(object sender, EventArgs e)
{
}
Я мог бы воспроизвести проблему, просто создав приложение ASP.NET MVC по умолчанию и добавив приведенный выше код. Странно то, что этот код отлично работал на моем старом хосте, и он зависал только на новом (общем) хосте. Если в моем коде есть эти обработчики событий, я получаю эту ошибку:
Ошибка сервера в «/» приложении.
Ссылка на объект не установлена на
экземпляр объекта. Описание:
Необработанное исключение произошло во время
выполнение текущей сети
запрос. Пожалуйста, просмотрите трассировку стека
для получения дополнительной информации об ошибке
и откуда он возник в коде.
Сведения об исключении:
System.NullReferenceException: объект
ссылка не установлена на экземпляр
объект.
Ошибка источника: необработанное исключение
был создан во время выполнения
текущий веб-запрос. Информация
относительно происхождения и местоположения
исключение можно определить с помощью
трассировка стека исключений ниже.
Трассировка стека:
[NullReferenceException: объект
ссылка не установлена на экземпляр
объект.]
System.Web.PipelineModuleStepContainer.GetStepArray (RequestNotification
уведомление, Boolean isPostEvent) +27
System.Web.PipelineModuleStepContainer.GetEventCount (RequestNotification
уведомление, логическое isPostEvent) +11
System.Web.PipelineStepManager.ResumeSteps (Exception
ошибка) +205
System.Web.HttpApplication.BeginProcessRequestNotification (HttpContext
контекст, AsyncCallback cb) +91
System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest
wr, контекст HttpContext) + 514
Я пытался решить эту проблему с помощью Softsys, но они не очень помогли, в основном они только подтвердили, что я включил функцию «ASP.NET Pipeline (MVC)» в панели управления администратора.
Может кто-нибудь:
- Скажите, если я что-то не так кодировал
- Покажите мне обходной путь
- Объясните мне, почему эта ошибка происходит на одном хосте, а не на другом.