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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }