public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, CompensateActivityFactory <TLog> factory) where TActivity : CompensateActivity <TLog> where TLog : class { var specification = new CompensateActivityHostSpecification <TActivity, TLog>(factory); configurator.AddEndpointSpecification(specification); }
public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, ILifetimeScope lifetimeScope) where TActivity : class, CompensateActivity <TLog> where TLog : class { var factory = new AutofacCompensateActivityFactory <TActivity, TLog>(lifetimeScope); var specification = new CompensateActivityHostSpecification <TActivity, TLog>(factory); configurator.AddEndpointSpecification(specification); }
public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, Func <TLog, TActivity> controllerFactory) where TActivity : class, CompensateActivity <TLog> where TLog : class { var factory = new FactoryMethodCompensateActivityFactory <TActivity, TLog>(controllerFactory); var specification = new CompensateActivityHostSpecification <TActivity, TLog>(factory); configurator.AddEndpointSpecification(specification); }
public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, IContainer container) where TActivity : class, CompensateActivity <TLog> where TLog : class { var compensateActivityScopeProvider = new LamarCompensateActivityScopeProvider <TActivity, TLog>(container); var factory = new ScopeCompensateActivityFactory <TActivity, TLog>(compensateActivityScopeProvider); var specification = new CompensateActivityHostSpecification <TActivity, TLog>(factory); configurator.AddEndpointSpecification(specification); }
public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, ILifetimeScope lifetimeScope, string name = "message") where TActivity : class, CompensateActivity <TLog> where TLog : class { var lifetimeScopeProvider = new SingleLifetimeScopeProvider(lifetimeScope); var compensateActivityScopeProvider = new AutofacCompensateActivityScopeProvider <TActivity, TLog>(lifetimeScopeProvider, name); var factory = new ScopeCompensateActivityFactory <TActivity, TLog>(compensateActivityScopeProvider); var specification = new CompensateActivityHostSpecification <TActivity, TLog>(factory); configurator.AddEndpointSpecification(specification); }
public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, Container container, Action <ICompensateActivityConfigurator <TActivity, TLog> > configure = null) where TActivity : class, ICompensateActivity <TLog> where TLog : class { var compensateActivityScopeProvider = new SimpleInjectorCompensateActivityScopeProvider <TActivity, TLog>(container); var factory = new ScopeCompensateActivityFactory <TActivity, TLog>(compensateActivityScopeProvider); var specification = new CompensateActivityHostSpecification <TActivity, TLog>(factory, configurator); configure?.Invoke(specification); configurator.AddEndpointSpecification(specification); }
void ConfigureCompensate(IReceiveEndpointConfigurator configurator, IConfigurationServiceProvider configurationServiceProvider) { var activityScopeProvider = configurationServiceProvider.GetRequiredService <ICompensateActivityScopeProvider <TActivity, TLog> >(); var activityFactory = new ScopeCompensateActivityFactory <TActivity, TLog>(activityScopeProvider); var specification = new CompensateActivityHostSpecification <TActivity, TLog>(activityFactory, configurator); GetActivityDefinition(configurationServiceProvider) .Configure(configurator, specification); foreach (var action in _compensateActions) { action(specification); } configurator.AddEndpointSpecification(specification); }
public void ConfigureCompensate(IReceiveEndpointConfigurator configurator, IConfigurationServiceProvider configurationServiceProvider) { var activityScopeProvider = configurationServiceProvider.GetRequiredService <ICompensateActivityScopeProvider <TActivity, TLog> >(); var activityFactory = new ScopeCompensateActivityFactory <TActivity, TLog>(activityScopeProvider); var specification = new CompensateActivityHostSpecification <TActivity, TLog>(activityFactory, configurator); LogContext.Debug?.Log("Configuring endpoint {Endpoint}, Compensate Activity: {ActivityType}", configurator.InputAddress.GetLastPart(), TypeMetadataCache <TActivity> .ShortName); GetActivityDefinition(configurationServiceProvider) .Configure(configurator, specification); foreach (var action in _compensateActions) { action(specification); } configurator.AddEndpointSpecification(specification); }
public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, ICompensateActivityFactory <TActivity, TLog> factory, Action <ICompensateActivityConfigurator <TActivity, TLog> > configure = null) where TActivity : class, ICompensateActivity <TLog> where TLog : class { if (configurator == null) { throw new ArgumentNullException(nameof(configurator)); } if (factory == null) { throw new ArgumentNullException(nameof(factory)); } LogContext.Debug?.Log("Configuring Compensate Activity: {ActivityType}, {LogType}", TypeMetadataCache <TActivity> .ShortName, TypeMetadataCache <TLog> .ShortName); var specification = new CompensateActivityHostSpecification <TActivity, TLog>(factory, configurator); configure?.Invoke(specification); configurator.AddEndpointSpecification(specification); }