public override void SetAndReleaseItemExclusive(HttpContext context, string id, SessionStateStoreData item, object lockId, bool newItem) { Debug.Assert(item != null); var key = GetKey(id); var data = (IgniteSessionStateStoreData)item; if (newItem) { var cache = _expiryCacheHolder.GetCacheWithExpiry(data.Timeout * 60); PutItem(key, data, cache); } else { if (!(lockId is long) || data.LockId != (long)lockId) { throw new IgniteException(string.Format(CultureInfo.InvariantCulture, "Invalid session release request, expected lockId: {0}, actual: {1}", data.LockId, lockId)); } SetAndUnlockItem(key, data); } }