Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }
Пример #4
0
        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);
            }
        }