2

以下のコードをご覧ください

public class URLRewriter : IHttpModule {

    public void Dispose() {

    }
    public void Init( HttpApplication context ) {
        context.BeginRequest += new EventHandler( context_BeginRequest );
    }

    void context_BeginRequest( object sender, EventArgs e ) {
                //code to make custom 
                 URLhttpApplication.Context.Server.Transfer( CustomPath );

        }
}

ここでIHttpModuleは、カスタム URL リダイレクトを作成するために使用しています。ただし、宛先ページでセッションを設定しているときにエラーが表示されます。

エラー行コード:

HttpContext.Current.Session[USERADMIN] == null

エラーメッセージ:

System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。

4

1 に答える 1

2

BeginRequestアプリケーションのライフサイクルでセッション状態が利用可能になる前に、 でセッション状態を求めています。少なくとも、 AcquireRequestStateイベントまではセッション状態を使用できません。

InitBeginRequest の代わりに AcquireRequestState を処理するように変更します。

于 2013-08-22T13:29:41.027 に答える