Raven.AspNetProviders.RavenSessionStateStoreProvider.RemoveItem C# (CSharp) Method

RemoveItem() public method

public RemoveItem ( HttpContext context, string id, object lockId, System.Web.SessionState.SessionStateStoreData item ) : void
context System.Web.HttpContext
id string
lockId object
item System.Web.SessionState.SessionStateStoreData
return void
        public override void RemoveItem(HttpContext context, string id, object lockId, SessionStateStoreData item)
        {
            id = "sessionstates/" + id;

            using (var session = _documentStore.OpenSession())
            {
                var sessionState = session.Query<SessionState>()
                    .Customize(x => x.WaitForNonStaleResultsAsOfLastWrite())
                    .SingleOrDefault(x => x.Id == id && x.ApplicationName == ApplicationName && x.LockId == (int) lockId);

                if (sessionState != null)
                {
                    session.Delete(sessionState);
                    session.SaveChanges();
                }
            }
        }