internal void Configure(IUnityContainer container, PolicyDefinition policyDefinition) { if (string.IsNullOrEmpty(this.TypeName)) { policyDefinition.AddCallHandler(this.Name); } else { Type handlerType = TypeResolver.ResolveType(TypeName); IEnumerable <InjectionMember> injectionMembers = Injection.SelectMany( element => element.GetInjectionMembers(container, typeof(ICallHandler), handlerType, Name)); policyDefinition.AddCallHandler(handlerType, Lifetime.CreateLifetimeManager(), injectionMembers.ToArray()); } }
internal void Configure(IUnityContainer container, PolicyDefinition policyDefinition) { if (string.IsNullOrEmpty(TypeName)) { policyDefinition.AddMatchingRule(Name); } else { Type matchingRuleType = TypeResolver.ResolveType(TypeName); LifetimeManager lifetime = Lifetime.CreateLifetimeManager(); IEnumerable <InjectionMember> injectionMembers = Injection.SelectMany( element => element.GetInjectionMembers(container, typeof(IMatchingRule), matchingRuleType, Name)); policyDefinition.AddMatchingRule(matchingRuleType, lifetime, injectionMembers.ToArray()); } }