public BusBuilder Configure(IAutoConfigurationModel autoConfigurationModel) { var autoConfigurator = new AutoConfigurator(); autoConfigurator.Configure(_configurationContext.ConfigurationModel, autoConfigurationModel); return(this); }
void ConfigurePublish(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel, Type type) { foreach (IPublishConfigurationConvention convention in autoConfigurationModel.PublishConfigurationConventions) { if (convention.ShouldRegister(type)) { PublishInfo publishInfo = GetPublishInfo(type, convention); configurationModel.PublishRouteConfiguration.AddPolicy<MappingRouteInfoLookupStrategy<IPublishInfo>>(type, publishInfo); } } }
void ConfigurePublish(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel, Type type) { foreach (IPublishConfigurationConvention convention in autoConfigurationModel.PublishConfigurationConventions) { if (convention.ShouldRegister(type)) { PublishInfo publishInfo = GetPublishInfo(type, convention); configurationModel.PublishRouteConfiguration.AddPolicy <MappingRouteInfoLookupStrategy <IPublishInfo> >(type, publishInfo); } } }
public void Configure(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel) { foreach (Assembly assembly in autoConfigurationModel.Assemblies) { foreach (Type type in assembly.GetTypes()) { ConfigureConsume(configurationModel, autoConfigurationModel, type); ConfigurePublish(configurationModel, autoConfigurationModel, type); ConfigureSubscriptions(configurationModel, autoConfigurationModel, type); } } }
static void ConfigureConsume(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel, Type type) { foreach (IConsumeConfigurationConvention convention in autoConfigurationModel.ConsumeConfigurationConventions) { if (convention.ShouldRegister(type)) { ConsumeInfo consumeInfo = GetConsumeInfo(type, convention); configurationModel.ConsumeRouteConfiguration .AddPolicy<MappingRouteInfoLookupStrategy<IConsumeInfo>>(type, consumeInfo); } } }
static void ConfigureConsume(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel, Type type) { foreach (IConsumeConfigurationConvention convention in autoConfigurationModel.ConsumeConfigurationConventions) { if (convention.ShouldRegister(type)) { ConsumeInfo consumeInfo = GetConsumeInfo(type, convention); configurationModel.ConsumeRouteConfiguration .AddPolicy <MappingRouteInfoLookupStrategy <IConsumeInfo> >(type, consumeInfo); } } }
void ConfigureSubscriptions(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel, Type handlerType) { foreach (ISubscriptionConvention convention in autoConfigurationModel.SubscriptionConventions) { if (convention.ShouldRegister(handlerType)) { object handler = autoConfigurationModel.DependencyResolver.Resolve(handlerType); Type messageType = convention.GetMessageType(handler); MethodInfo openGetMessageHandlerMethodInfo = typeof (ISubscriptionConvention).GetMethod("GetMessageHandler", BindingFlags.Instance | BindingFlags.Public); MethodInfo closedGetMessageHandlerMethodInfo = openGetMessageHandlerMethodInfo.MakeGenericMethod(new[] {messageType}); object messageHandler = closedGetMessageHandlerMethodInfo.Invoke(convention, new[] {handler}); configurationModel.AutoSubscriptions.Add(new AutoSubscription(messageType, messageHandler)); } } }
void ConfigureSubscriptions(IConfigurationModel configurationModel, IAutoConfigurationModel autoConfigurationModel, Type handlerType) { foreach (ISubscriptionConvention convention in autoConfigurationModel.SubscriptionConventions) { if (convention.ShouldRegister(handlerType)) { object handler = autoConfigurationModel.DependencyResolver.Resolve(handlerType); Type messageType = convention.GetMessageType(handler); MethodInfo openGetMessageHandlerMethodInfo = typeof(ISubscriptionConvention).GetMethod("GetMessageHandler", BindingFlags.Instance | BindingFlags.Public); MethodInfo closedGetMessageHandlerMethodInfo = openGetMessageHandlerMethodInfo.MakeGenericMethod(new[] { messageType }); object messageHandler = closedGetMessageHandlerMethodInfo.Invoke(convention, new[] { handler }); configurationModel.AutoSubscriptions.Add(new AutoSubscription(messageType, messageHandler)); } } }
public BusBuilder Configure(IAutoConfigurationModel autoConfigurationModel) { var autoConfigurator = new AutoConfigurator(); autoConfigurator.Configure(_configurationContext.ConfigurationModel, autoConfigurationModel); return this; }