コード例 #1
0
ファイル: WcfServiceHost.cs プロジェクト: cmgator/Symbiote
        private ServiceHost BuildHost( IWcfServiceConfiguration configuration )
        {
            var serviceUri = configuration.Address;
            var host = new ServiceHost( configuration.ServiceType, new Uri( ServerConfiguration.BaseAddress ) );
            host.AddServiceEndpoint(
                configuration.ContractType,
                configuration.Binding,
                serviceUri );

            if ( configuration.EnableHttpMetadataExchange )
            {
                var mexUriString =
                    "{0}/{1}".AsFormat( configuration.MetadataExchangeUri ?? ServerConfiguration.BaseAddress,
                                        configuration.Address );

                host.Description.Behaviors.Add(
                    new ServiceMetadataBehavior
                        {
                            HttpGetEnabled = true,
                            HttpGetUrl = new Uri( mexUriString )
                        } );

                host.AddServiceEndpoint( typeof( IMetadataExchange ), configuration.Binding, "mex" );
            }

            host.CloseTimeout = TimeSpan.FromMilliseconds( configuration.Timeout );
            return host;
        }
コード例 #2
0
ファイル: WcfServiceHost.cs プロジェクト: yonglehou/Symbiote
        private ServiceHost BuildHost(IWcfServiceConfiguration configuration)
        {
            var serviceUri = configuration.Address;
            var host       = new ServiceHost(configuration.ServiceType, new Uri(ServerConfiguration.BaseAddress));

            host.AddServiceEndpoint(
                configuration.ContractType,
                configuration.Binding,
                serviceUri);

            if (configuration.EnableHttpMetadataExchange)
            {
                var mexUriString =
                    "{0}/{1}".AsFormat(configuration.MetadataExchangeUri ?? ServerConfiguration.BaseAddress,
                                       configuration.Address);

                host.Description.Behaviors.Add(
                    new ServiceMetadataBehavior
                {
                    HttpGetEnabled = true,
                    HttpGetUrl     = new Uri(mexUriString)
                });

                host.AddServiceEndpoint(typeof(IMetadataExchange), configuration.Binding, "mex");
            }

            host.CloseTimeout = TimeSpan.FromMilliseconds(configuration.Timeout);
            return(host);
        }
コード例 #3
0
 public WcfServiceConfigurator()
 {
     Configuration = new WcfServiceConfiguration <TContract>();
 }