Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML public class RedisNoLockSessionStateStoreProvider : SessionStateStoreProviderBase { //... public override SessionStateStoreData CreateNewStoreData(System.Web. HttpContext context, int timeout) { string sessionId = context.Request.Cookies[RedisNoLockSessionIDManager.CookieName].Value; return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (sessionId, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), timeout); } public override SessionStateStoreData GetItem(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { lockAge = TimeSpan .Zero; lockId = null ; locked = false ; actions = SessionStateActions .None; // RedisNoLockSessionStateItemsCollection return new SessionStateStoreData ( new RedisNoLockSessionStateItemsCollection (id, _defaultTimeout, _redisServer, _redisDb), SessionStateUtility.GetSessionStaticObjects(context), _defaultTimeout); } public override SessionStateStoreData GetItemExclusive(System.Web. HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions) { return this .GetItem(context, id, out locked, out lockAge, out lockId, out actions); } //... }
Copy Source | Copy HTML
- public class RedisNoLockSessionStateItemsCollection : RedisSessionConfig , ISessionStateItemCollection
- {
- // ...
- public object this [ string name]
- {
- get
- {
- string key = GetKey (name);
- using ( var redis = SingleRedisPool.GetClient (_redisServer))
- {
- return redis.Get < object > (key);
- }
- }
- set
- {
- string key = GetKey (name);
- using ( var redis = SingleRedisPool.GetClient (_redisServer))
- {
- bool result = redis.Set < object > (key, value );
- }
- }
- }
- // ...
- }
Copy Source | Copy HTML
- public class RedisNoLockSessionIDManager : RedisSessionConfig , ISessionIDManager
- {
- public string CreateSessionID ( HttpContext context)
- {
- Return Guid .NewGuid (). ToString ( "N" );
- }
- public string GetSessionID ( HttpContext context)
- {
- var cookie = context.Request.Cookies.Get (CookieName);
- return cookie! = null ? cookie.Value: null ;
- }
- public bool InitializeRequest ( HttpContext context, bool suppressAutoDetectRedirect, out bool supportSessionIDReissue)
- {
- supportSessionIDReissue = false ;
- return false ;
- }
- public void SaveSessionID ( HttpContext context, string id, out bool redirected, out bool cookieAdded)
- {
- HttpCookie cookie = new HttpCookie (CookieName, id);
- cookie.Expires = DateTime .Now.Add (Configuration.Timeout);
- context.Response.Cookies.Add (cookie);
- redirected = false ;
- cookieAdded = true ;
- }
- public bool Validate ( string id)
- {
- return true ;
- }
- // ..
- }
Source: https://habr.com/ru/post/123812/
All Articles