public bool OpenSession(string folderName) { _sessionKey = NormalizeKey(OperationContext.Current != null ? OperationContext.Current.SessionId : Guid.NewGuid().ToString()); _user = ServiceSecurityContext.Current != null ? ServiceSecurityContext.Current.PrimaryIdentity.Name : _sessionKey; _updatedForlder = folderName; _logger.Info(string.Format("Try to open access from session '{0}' to folder '{1}'", _sessionKey, _updatedForlder)); _accessIsGranted = FoldersLocks.Add(folderName, _sessionKey); _logger.Info(string.Format("Folder '{0}' is locked", _updatedForlder)); _logger.Info(string.Format("Access is {0}", _accessIsGranted ? "granted" : "denied")); return(_accessIsGranted); }
protected void ClearLocks(object sender, EventArgs e) { FoldersLocks.RemoveForSession(_sessionKey); _logger.Info(string.Format("Lock for folder '{0}' is released", _updatedForlder)); }
public void Dispose() { _logger.Info("Service instance is released"); FoldersLocks.Remove(_updatedForlder); }