private bool LockSessionItem(string id, SessionItem currentItem) { if(currentItem == null) throw new ArgumentNullException("currentItem"); if (currentItem.Locked) return false; using(var c = this.MemcachedClient) { currentItem.Locked = true; currentItem.LockDate = DateTime.UtcNow; c.Store(StoreMode.Replace, id, currentItem, _timeout); return true; } }
private TimeSpan GetLockAge(SessionItem item) { return DateTime.UtcNow.Subtract(item.LockDate); }