protected override IAsyncPolicy GetAsyncPolicy(CallContextBase context, PolicyAttribute attribute) { var testAttribute = (TestPolicyAttribute)attribute; var policy = new AsyncTestPolicy(testAttribute.Name, testAttribute.Order, false); return(policy); }
public virtual ISyncPolicy GetSyncPolicy(CallContextBase context, PolicyAttribute attribute) { if (attribute is TAttribute) { return(GetSyncPolicy(context, (TAttribute)attribute)); } return(null); }
protected virtual IAsyncPolicy GetAsyncPolicy(CallContextBase context, PolicyAttribute attribute) { var policies = _attributePolicyProviders .Select(provider => provider.GetAsyncPolicy(context, attribute)) .Where(policy => policy != null) .ToArray(); if (!policies.Any()) { return(null); } if (policies.Length == 1) { return(policies.Single()); } return(Policy.WrapAsync(policies)); }
public IAsyncPolicy GetAsyncPolicy(CallContextBase context, PolicyAttribute attribute) { return(null); }