глобальные asax application_start application методы begin_request? - PullRequest
1 голос
/ 25 мая 2009

У меня проблема. При переходе из классического конвейерного режима в интегрированный конвейерный режим в IIS 7.0 мы сталкиваемся с проблемой:

Ошибка сервера в приложении '/'.

Запрос недоступен в этом контексте ...

Мы нашли решение этой проблемы на

mvolo.com/blogs/serverside/archive/2007/11/10/Integrated-mode-Request-is-not-available-in-this-context-in-Application_5F00_Start.aspx

В качестве решения в ближайшее время в global.asax я должен переслать событие application_start в событие Application_BeginRequest .

void Application_Start(object sender, EventArgs e) { // sender has type 'System.Web.HttpApplicationFactory' }

Application_BeginRequest(Object source, EventArgs e) | {

// sender has type 'System.Web.HttpApplication' }

Или другое решение: событие Application_Start может начаться позже, чем Application_BeginRequest .

есть предложения? У меня нет выбора, как выбрать «классический режим»

Ответы [ 2 ]

3 голосов
/ 25 мая 2009

Переместите код в Application_BeginRequest или Session_Start. Вы все равно не должны использовать объект Request в Application_Start.

Объект Request содержит информацию, специфичную для одного запроса страницы. Не имеет никакого смысла что-либо делать с этой информацией в событии Application_Start.

0 голосов
/ 25 мая 2009

Итак, измените режим пула приложений на классический.

...