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); } } }
static PublishInfo GetPublishInfo(Type type, IPublishConfigurationConvention convention) { var publishInfo = new PublishInfo { ExchangeName = convention.GetExchangeName(type), IsAutoDelete = convention.IsAutoDeleteExchange(type), IsDurable = convention.IsDurableExchange(type), IsPersistent = convention.IsPersistent(type), ExchangeType = convention.GetExchangeType(type), DefaultRoutingKey = convention.GetDefaultRouteKey(type), IsSigned = convention.IsSigned(type) }; ISerializationStrategy serializationStrategy = convention.GetSerializationStrategy(type); if (serializationStrategy != null) { publishInfo.SerializationStrategy = serializationStrategy; } return publishInfo; }
static PublishInfo GetPublishInfo(Type type, IPublishConfigurationConvention convention) { var publishInfo = new PublishInfo { ExchangeName = convention.GetExchangeName(type), IsAutoDelete = convention.IsAutoDeleteExchange(type), IsDurable = convention.IsDurableExchange(type), IsPersistent = convention.IsPersistent(type), ExchangeType = convention.GetExchangeType(type), DefaultRoutingKey = convention.GetDefaultRouteKey(type), IsSigned = convention.IsSigned(type) }; ISerializationStrategy serializationStrategy = convention.GetSerializationStrategy(type); if (serializationStrategy != null) { publishInfo.SerializationStrategy = serializationStrategy; } return(publishInfo); }
public PublishConfigurationContext(string defaultName) { PublishInfo = new PublishInfo(); PublishInfo.ExchangeName = defaultName; }