请看下面的代码

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:对象引用未设置为
  对象的实例。

最佳答案

您要在BeginRequest中请求会话状态,该状态在应用程序生命周期中可用之前。至少,在AcquireRequestState事件之前,您不能使用会话状态。

更改您的Init以处理AcquireRequestState而不是BeginRequest。

08-26 12:02