public EndpointConfigurationBuilder EndpointSetup <T>(Action <BusConfiguration> configurationBuilderCustomization = null) where T : IEndpointSetupTemplate, new() { if (configurationBuilderCustomization == null) { configurationBuilderCustomization = b => { }; } configuration.GetConfiguration = (settings, routingTable) => { var endpointSetupTemplate = new T(); var scenarioConfigSource = new ScenarioConfigSource(configuration, routingTable); return(endpointSetupTemplate.GetConfiguration(settings, configuration, scenarioConfigSource, configurationBuilderCustomization)); }; return(this); }
public EndpointConfigurationBuilder EndpointSetup <T>(Action <EndpointConfiguration, RunDescriptor> configurationBuilderCustomization) where T : IEndpointSetupTemplate, new() { if (configurationBuilderCustomization == null) { configurationBuilderCustomization = (rd, b) => { }; } configuration.GetConfiguration = async(runDescriptor, routingTable) => { var endpointSetupTemplate = new T(); var scenarioConfigSource = new ScenarioConfigSource(configuration, routingTable); var endpointConfiguration = await endpointSetupTemplate.GetConfiguration(runDescriptor, configuration, scenarioConfigSource, bc => { configurationBuilderCustomization(bc, runDescriptor); }).ConfigureAwait(false); return(endpointConfiguration); }; return(this); }
public EndpointConfigurationBuilder EndpointSetup <T>(Action <EndpointConfiguration, RunDescriptor> configurationBuilderCustomization, Action <PublisherMetadata> publisherMetadata = null) where T : IEndpointSetupTemplate, new() { if (configurationBuilderCustomization == null) { configurationBuilderCustomization = (rd, b) => { }; } publisherMetadata?.Invoke(configuration.PublisherMetadata); configuration.GetConfiguration = async runDescriptor => { var endpointSetupTemplate = new T(); var scenarioConfigSource = new ScenarioConfigSource(configuration); var endpointConfiguration = await endpointSetupTemplate.GetConfiguration(runDescriptor, configuration, scenarioConfigSource, bc => { configurationBuilderCustomization(bc, runDescriptor); }).ConfigureAwait(false); return(endpointConfiguration); }; return(this); }