/// <summary> /// Stores the configuration source that should be used to derive the /// <see cref="PolicySet"/> for interception. /// </summary> /// <param name="configSource">The configuration source.</param> public void SetPolicyConfigurationSource(IConfigurationSource configSource) { if (this.configSource == null || this.configSource != configSource) { lock (policiesLock) { if (this.configSource == null || this.configSource != configSource) { this.configSource = configSource; PolicyInjectorFactory injectorFactory = new PolicyInjectorFactory(configSource); injector = injectorFactory.Create(); } } } }
public object GetInstance(InstanceContext instanceContext, Message message) { PolicyInjector policyInjector = null; if (string.IsNullOrEmpty(this._policyInjectorName)) { policyInjector = new PolicyInjectorFactory().Create(); } else { policyInjector = new PolicyInjectorFactory().Create(this._policyInjectorName); } Type serviceType = instanceContext.Host.Description.ServiceType; object serviceInstance = Activator.CreateInstance(serviceType); if (!this._serviceContractType.IsInterface && !serviceType.IsMarshalByRef && policyInjector is RemotingPolicyInjector) { return serviceInstance; } return policyInjector.Wrap(serviceInstance, this._serviceContractType); }
public object GetInstance(InstanceContext instanceContext, Message message) { PolicyInjector policyInjector = null; if (string.IsNullOrEmpty(this._policyInjectorName)) { policyInjector = new PolicyInjectorFactory().Create(); } else { policyInjector = new PolicyInjectorFactory().Create(this._policyInjectorName); } Type serviceType = instanceContext.Host.Description.ServiceType; object serviceInstance = Activator.CreateInstance(serviceType); if (!this._serviceContractType.IsInterface && !serviceType.IsMarshalByRef && policyInjector is RemotingPolicyInjector) { return(serviceInstance); } return(policyInjector.Wrap(serviceInstance, this._serviceContractType)); }