protected override void apply(Type pluginType, IConfiguredInstance instance) { var subscriberFactory = GetMessageSubscriberFactoryParameter(instance); if (subscriberFactory == null) { return; } var environment = GetEnvironmentName(); var connectionStringName = GetConnectionStringName(instance); var messageQueueConnectionString = GetMessageQueueConnectionString(environment, connectionStringName); if (string.IsNullOrEmpty(messageQueueConnectionString)) { var groupFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/EAS_Queues/"; var factory = new FileSystemMessageSubscriberFactory(groupFolder); instance.Dependencies.AddForConstructorParameter(subscriberFactory, factory); } else { var subscriptionName = TopicSubscriptionHelper.GetMessageGroupName(instance.Constructor.DeclaringType); var factory = new TopicSubscriberFactory(messageQueueConnectionString, subscriptionName, new NLogLogger(typeof(TopicSubscriberFactory))); instance.Dependencies.AddForConstructorParameter(subscriberFactory, factory); } }
protected override void apply(Type pluginType, IConfiguredInstance instance) { var factoryParameter = instance?.Constructor?.GetParameters().FirstOrDefault(p => p.ParameterType == typeof(IMessageSubscriberFactory)); if (factoryParameter == null) { return; } var connectionString = GetConnectionString(instance); var subscriptionName = TopicSubscriptionHelper.GetMessageGroupName(instance.Constructor.DeclaringType); var factory = new TopicSubscriberFactory(connectionString, subscriptionName, new NLogLogger(typeof(TopicSubscriberFactory))); instance.Dependencies.AddForConstructorParameter(factoryParameter, factory); }
private static void LoadAzureServiceBus <T>( out IMessagePublisher publisher, out IMessageSubscriber <T> subscriber) where T : new() { WriteColoredText("Connection string: "); var connectionString = Console.ReadLine(); WriteColoredText("Subscription name: "); var subscriptionName = Console.ReadLine(); publisher = new TopicMessagePublisher(connectionString, new SampleLogger()); var subscriberFactory = new TopicSubscriberFactory(connectionString, subscriptionName, new SampleLogger()); subscriber = subscriberFactory.GetSubscriber <T>(); }
protected override void apply(Type pluginType, IConfiguredInstance instance) { var factoryParameter = instance?.Constructor?.GetParameters().FirstOrDefault(p => p.ParameterType == typeof(IMessageSubscriberFactory)); if (factoryParameter == null) { return; } if (string.IsNullOrEmpty(_config.MessageServiceBusConnectionString)) { var groupFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), _serviceName); var factory = new FileSystemMessageSubscriberFactory(groupFolder); instance.Dependencies.AddForConstructorParameter(factoryParameter, factory); } else { var subscriptionName = TopicSubscriptionHelper.GetMessageGroupName(instance.Constructor.DeclaringType); var factory = new TopicSubscriberFactory(_config.MessageServiceBusConnectionString, subscriptionName, _logger); instance.Dependencies.AddForConstructorParameter(factoryParameter, factory); } }