예제 #1
0
        public void AddPolicy(string policyName, Action <IExceptionPolicyBuilder> configure)
        {
            Guard.ArgumentNotNullOrEmpty(policyName, nameof(policyName));
            Guard.ArgumentNotNull(configure, nameof(configure));

            ExceptionPolicyBuilder builder = new ExceptionPolicyBuilder(this.ServiceProvider);

            configure(builder);
            _policies.Add(policyName, builder.Build());
        }
예제 #2
0
        /// <summary>
        /// Register a new exception policy.
        /// </summary>
        /// <param name="policyName">The name of exception policy to register.</param>
        /// <param name="configure">A <see cref="Action{IExceptionPolicyBuilder}"/> to build the registered exception policy.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">The <paramref name="policyName"/> is null.</exception>
        /// <exception cref="ArgumentException">The <paramref name="policyName"/> is a white space string.</exception>
        /// <exception cref="ArgumentNullException">The <paramref name="configure"/> is null.</exception>
        public IExceptionManagerBuilder AddPolicy(string policyName, Action <IExceptionPolicyBuilder> configure)
        {
            Guard.ArgumentNotNullOrWhiteSpace(policyName, nameof(policyName));
            Guard.ArgumentNotNull(configure, nameof(configure));

            ExceptionPolicyBuilder builder = new ExceptionPolicyBuilder(this.ServiceProvider);

            configure(builder);
            _policies.Add(policyName, builder.Build());
            return(this);
        }