2009-05-25 39 views
1

我遇到問題。在從IIS 7.0經典流水線模式遷移到集成流水線模式時,我們遇到以下問題:全局asax application_start應用程序的begin_request方法?

'/'應用程序中的服務器錯誤。

請求是不是在這種情況下可用...

我們發現這個問題的解決方案在

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

有什麼建議嗎? 我沒有選擇喜歡選擇「經典模式」

回答

3

將代碼移動到Application_BeginRequestSession_Start。無論如何,您不應該在Application_Start中使用Request對象。

Request對象包含特定於一個頁面請求的信息。對Application_Start事件中的這些信息做任何事情都沒有任何意義。

+0

我沒有會話或session_start。 我需要的是基本上在application_start事件之前調用Application_BeginRequest事件,或者使用有效參數從app_start調用begin_request方法。 – Yaya 2009-05-25 14:00:33

0

因此,將您的應用程序池模式更改爲經典。

+0

這不是我的選擇。 – Yaya 2009-05-25 13:58:22