public override void SetAndReleaseItemExclusive(HttpContext context, string id, SessionStateStoreData item, object lockId, bool newItem) { try { byte[] serializedItems = Serialize((SessionStateItemCollection)item.Items); Binary sessionItems = new Binary(serializedItems); if (newItem) { // Delete an existing expired session if it exists. sessionStore.EvictExpiredSession(id, _applicationName); // insert new session item. Session session = new Session(id, this._applicationName, item.Timeout, sessionItems, item.Items.Count, 0); sessionStore.Insert(session); } else { sessionStore.UpdateSession(id, item.Timeout, sessionItems, this._applicationName, item.Items.Count, lockId); } } catch (MongoConnectionException e) { if (WriteExceptionsToEventLog) { WriteToEventLog(e, "SetAndReleaseItemExclusive"); throw new ProviderException(e.Message, e.InnerException); } else { throw e; } } }
public void TestInserts() { int i = 0; while (i < 200) { string id = Guid.NewGuid().ToString(); SessionStateItemCollection items = new SessionStateItemCollection(); items["Val1"] = "value"; byte[] serializedItems = Serialize(items); Binary b = new Binary(serializedItems); Session session = new Session(id, "AppName", 2, b, items.Count, SessionStateActions.None); using (var mongo = new Mongo(config)) { var sessionStore = new SessionStore("test"); sessionStore.Insert(session); i++; } } }
public override void CreateUninitializedItem(HttpContext context, string id, int timeout) { byte[] serializedItems = new byte[0]; Binary sessionItems = new Binary(serializedItems); Session session = new Session(id, this._applicationName, timeout, sessionItems, 0, SessionStateActions.InitializeItem); var sessionStore = new SessionStore(_applicationName); try { sessionStore.Insert(session); } catch (Exception e) { if (WriteExceptionsToEventLog) { WriteToEventLog(e, "CreateUninitializedItem"); throw new ProviderException(e.Message, e.InnerException); } else throw e; } }
public override void CreateUninitializedItem(HttpContext context, string id, int timeout) { byte[] serializedItems = new byte[0]; Binary sessionItems = new Binary(serializedItems); Session session = new Session(id, this._applicationName, timeout, sessionItems, 0, SessionStateActions.InitializeItem); var sessionStore = new SessionStore(_applicationName); try { sessionStore.Insert(session); } catch (Exception e) { if (WriteExceptionsToEventLog) { WriteToEventLog(e, "CreateUninitializedItem"); throw new ProviderException(e.Message, e.InnerException); } else { throw e; } } }