Exemplo n.º 1
0
 /// <summary>
 /// Validates the specified instance and allows the manipulation of the whole validation context.
 /// <para />
 /// This method can be used to manipulate the whole validation context and the implementation of this is enough.
 /// </summary>
 /// <param name="instance">The instance to validate.</param>
 /// <param name="validationContext">The validation context.</param>
 /// <exception cref="ArgumentNullException">The <paramref name="instance"/> is <c>null</c>.</exception>
 /// <exception cref="ArgumentNullException">The <paramref name="validationContext"/> is <c>null</c>.</exception>
 public void Validate(object instance, ValidationContext validationContext)
 {
     try
     {
         foreach (IValidator validator in _validators)
         {
             validator.Validate(instance, validationContext);
         }
     }
     catch (Exception)
     {
         _synchronizationContext.Release();
         throw;
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Called when the policy is resetting.
 /// </summary>
 protected override void OnReset()
 {
     try
     {
         foreach (var expirationPolicy in _expirationPolicies.Where(expirationPolicy => expirationPolicy.CanReset))
         {
             expirationPolicy.Reset();
         }
     }
     finally
     {
         if (IsResting)
         {
             _synchronizationContext.Release();
         }
     }
 }