public static HostConfigurator Service <TService>(this HostConfigurator configurator, Action <ServiceConfigurator <TService> > callback) where TService : class { if (configurator == null) { throw new ArgumentNullException("configurator"); } if (callback == null) { throw new ArgumentNullException("callback"); } var serviceConfigurator = new DelegateServiceConfigurator <TService>(); callback(serviceConfigurator); configurator.UseServiceBuilder(x => { ConfigurationResult configurationResult = ValidateConfigurationResult.CompileResults(serviceConfigurator.Validate()); if (configurationResult.Results.Any()) { throw new HostConfigurationException("The service was not properly configured"); } ServiceBuilder serviceBuilder = serviceConfigurator.Build(); return(serviceBuilder); }); return(configurator); }
public static ServiceBuilderFactory CreateServiceBuilderFactory <TService>(Action <ServiceConfigurator <TService> > callback) where TService : class { if (callback == null) { throw new ArgumentNullException(nameof(callback)); } var serviceConfigurator = new DelegateServiceConfigurator <TService>(); callback(serviceConfigurator); ServiceBuilder ServiceBuilderFactory(HostSettings x) { ConfigurationResult configurationResult = ValidateConfigurationResult.CompileResults(serviceConfigurator.Validate()); if (configurationResult.Results.Any()) { throw new HostConfigurationException("The service was not properly configured"); } ServiceBuilder serviceBuilder = serviceConfigurator.Build(); return(serviceBuilder); } return(ServiceBuilderFactory); }