public override void ReleaseItemExclusive(HttpContext context, string id, object lockId)
{
id = "sessionstates/" + id;
using (var session = _documentStore.OpenSession())
{
var sessionState = session.Query<SessionState>()
.Customize(x => x.WaitForNonStaleResultsAsOfLastWrite())
.Single(x => x.Id == id && x.ApplicationName == ApplicationName && x.LockId == (int)lockId);
sessionState.IsLocked = false;
var expireDate = DateTime.UtcNow.AddMinutes(_sessionStateConfig.Timeout.TotalMinutes);
sessionState.ExpireDate = expireDate;
session.Advanced.GetMetadataFor(sessionState)["Raven-Expiration-Date"] = new RavenJValue(expireDate);
session.SaveChanges();
}
}