глобальные методы asax application_start application begin_request?

У меня проблема. При переходе с классического конвейерного режима на интегрированный конвейерный режим в 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.

какие-либо предложения ? Мне не нравится выбирать "классический режим"


person Yaya    schedule 25.05.2009    source источник


Ответы (2)


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

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

person Guffa    schedule 25.05.2009
comment
У меня ничего нет с session или session_start. Мне нужно в основном вызвать событие Application_BeginRequest перед событием application_start или вызвать метод begin_request из app_start с допустимыми параметрами .. - person Yaya; 25.05.2009
comment
Вы не можете изменить порядок событий, приложение должно запуститься, прежде чем оно сможет обрабатывать запросы. Зачем вам нужен объект Request до того, как появится запрос? - person Guffa; 25.05.2009

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

person leppie    schedule 25.05.2009
comment
это не вариант для меня. - person Yaya; 25.05.2009