예제 #1
0
        /// <summary>
        /// Adds a modification set.
        /// </summary>
        /// <param name="modifications">The modification set.</param>
        public void AddModifications(ModificationSet modifications)
        {
            var lockAcquired = false;

            try
            {
                lockAcquired = this.modificationsLock.TryEnterWriteLock(TimeSpan.FromMinutes(2));
                if (lockAcquired)
                {
                    logger.Debug("Adding modification set to context");
                    this.modificationsSets.Add(modifications);
                }
                else
                {
                    logger.Error("Unable to acquire lock for adding modifications");
                    throw new Exception("Unable to acquire lock for adding modifications");
                }
            }
            finally
            {
                if (lockAcquired)
                {
                    this.modificationsLock.ExitWriteLock();
                }
            }
        }
 /// <summary>
 /// Adds a modification set.
 /// </summary>
 /// <param name="modifications">The modification set.</param>
 public void AddModifications(ModificationSet modifications)
 {
     var lockAcquired = false;
     try
     {
         lockAcquired = this.modificationsLock.TryEnterWriteLock(TimeSpan.FromMinutes(2));
         if (lockAcquired)
         {
             logger.Debug("Adding modification set to context");
             this.modificationsSets.Add(modifications);
         }
         else
         {
             logger.Error("Unable to acquire lock for adding modifications");
             throw new Exception("Unable to acquire lock for adding modifications");
         }
     }
     finally
     {
         if (lockAcquired)
         {
             this.modificationsLock.ExitWriteLock();
         }
     }
 }