2009-05-25 4 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_BeginRequestまたはSession_Startにコードを移動します。とにかくRequestオブジェクトをApplication_Startに使用しないでください。

Requestオブジェクトには、1ページのリクエストに固有の情報が含まれています。 Application_Startイベントでは、この情報を使って何かを行うのは実際には意味がありません。

+0

私はセッションまたはsession_startに何も持っていません。 私は必要なのは、基本的にapplication_startイベントの前にApplication_BeginRequestイベントを呼び出すか、有効なパラメータを持つapp_startからbegin_requestメソッドを呼び出すことです。 – Yaya

+0

イベントの順序を変更することはできません。アプリケーションは要求を処理する前に開始する必要があります。要求がある前になぜRequestオブジェクトが必要なのですか? – Guffa

0

したがって、アプリケーションプールモードをclassicに変更します。

+0

これは私にとっては選択肢ではありません。 – Yaya

関連する問題