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; }
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); }
public WcfServiceConfigurator() { Configuration = new WcfServiceConfiguration <TContract>(); }