Exemple #1
0
        /// <summary>
        /// Starts a <see cref="ServiceHost"/> for each found service. Defaults to <see cref="BasicHttpBinding"/> if
        /// no user specified binding is found
        /// </summary>
        public void Start()
        {
            foreach (var serviceType in Configure.TypesToScan.Where(t => !t.IsAbstract && IsWcfService(t)))
            {
                _host = new WcfServiceHost(serviceType);

                Binding binding = new BasicHttpBinding();

                if (Configure.Instance.Configurer.HasComponent <Binding>())
                {
                    binding = Configure.Instance.Builder.Build <Binding>();
                }

                _host.AddDefaultEndpoint(GetContractType(serviceType),
                                         binding
                                         , "");

                _hosts.Add(_host);

                logger.InfoFormat("Initialising the WCF service: {0}", serviceType.AssemblyQualifiedName);

                _host.Open();
            }
        }