自定義 Asp.Net SessionID 獲取方式
阿新 • • 發佈:2018-10-11
manager esp manage 自定義 virtual col var == quest
新建類 CustomSessionIDManager
public class CustomSessionIDManager : SessionIDManager, ISessionIDManager { private SessionStateSection pConfig = null; string ISessionIDManager.GetSessionID(HttpContext context) { if (pConfig == null) { Configuration cfg= WebConfigurationManager.OpenWebConfiguration(System.Web.Hosting.HostingEnvironment.ApplicationVirtualPath); pConfig = (SessionStateSection)cfg.GetSection("system.web/sessionState"); } string sid = base.GetSessionID(context);//默認從Cookie、UseUri 中獲取if (string.IsNullOrWhiteSpace(sid) && !string.IsNullOrWhiteSpace(context.Request.QueryString[pConfig.CookieName])) { var _sid = context.Request.QueryString[pConfig.CookieName];//從自定義查詢字符中獲取,也可以擴展從自定義Header中獲取 returnsid; } return sid; } }
修改Web.Config
<system.web> <sessionState cookieName="_sid" sessionIDManagerType="命名空間.CustomSessionIDManager" />
自定義 Asp.Net SessionID 獲取方式