public static void ApplyUnityContractBehavior(IDictionary <string, ContractDescription> implementedContracts, IUnityContainer container) { foreach (var contractDescription in implementedContracts.Values) { var contractBehavior = new UnityContractBehavior(new UnityInstanceProvider(container, contractDescription.ContractType)); contractDescription.Behaviors.Add(contractBehavior); } }
public UnityDataServiceHost(IUnityContainer container, Type serviceType, Uri[] baseAddresses) : base(serviceType, baseAddresses) { _container = container; foreach (var contractDescription in ImplementedContracts.Values) { var contractBehavior = new UnityContractBehavior(new UnityInstanceProvider(container, contractDescription.ContractType)); contractDescription.Behaviors.Add(contractBehavior); } }
/// <summary> /// Initializes a new instance of the <see cref="UnityWebServiceHost"/> class. /// </summary> /// <param name="container">The Unity container.</param> /// <param name="serviceType">Type of the service.</param> /// <param name="baseAddresses">The base addresses.</param> public UnityWebServiceHost(IUnityContainer container, Type serviceType, params Uri[] baseAddresses) : base(serviceType, baseAddresses) { if (container == null) { throw new ArgumentNullException("container"); } this.ApplyServiceBehaviors(container); this.ApplyContractBehaviors(container); foreach (ContractDescription description in this.ImplementedContracts.Values) { UnityContractBehavior item = new UnityContractBehavior(new UnityInstanceProvider(container, description.ContractType)); description.Behaviors.Add(item); } }
public UnityServiceHost(IUnityContainer container, Type serviceType, params Uri[] baseAddresses) : base(serviceType, baseAddresses) { if (container == null) { throw new ArgumentNullException("container"); } ApplyServiceBehaviors(container); ApplyContractBehaviors(container); foreach (var contractDescription in ImplementedContracts.Values) { var contractBehavior = new UnityContractBehavior(new UnityInstanceProvider(container, contractDescription.ContractType)); contractDescription.Behaviors.Add(contractBehavior); } }