Session中StateServer的用法

近期项目中用到 Session的StateServer模式,我们知道sessionState有四种模式:off,inProc,StateServer,SqlServer。 而StateServer 是将session存储到内存中的,使用此种方式必须启动ASP.NET 状态windows服务。StateServer 对我最大的感觉就部署在同一个服务器的站点,只要配置一致,那么都可以对同一个Session 值进行访问。也就是Session可以 跨站点访问。下面来说用法


站点配置如下:

Web.config配置

 
        
            
         
        
        
        
        
        
        
        
        
    


 全局文件global 重写Init事件

  public override void Init()
        {
            //session内部存储key的前缀
            var sessionStateStoreProvider = typeof(HttpSessionState).Assembly.GetType("System.Web.SessionState.OutOfProcSessionStateStore");
            var uriBaseField = sessionStateStoreProvider.GetField("s_uribase", BindingFlags.Static | BindingFlags.NonPublic);
            uriBaseField.SetValue(null, FormsAuthentication.CookieDomain);
            base.Init();


        }



然后其他站点配置同样的就可以互相对Sessionji

你可能感兴趣的:(.net,session,StateServer)