Пример #1
0
        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);
        }
Пример #2
0
 protected void ClearLocks(object sender, EventArgs e)
 {
     FoldersLocks.RemoveForSession(_sessionKey);
     _logger.Info(string.Format("Lock for folder '{0}' is released", _updatedForlder));
 }
Пример #3
0
 public void Dispose()
 {
     _logger.Info("Service instance is released");
     FoldersLocks.Remove(_updatedForlder);
 }