protected override void apply(Type pluginType, IConfiguredInstance instance) { var messagePublisher = GetMessagePublisherParameter(instance); if (messagePublisher == null) { return; } var environment = GetEnvironmentName(); var messageQueueConnectionString = GetMessageQueueConnectionString(environment); if (string.IsNullOrEmpty(messageQueueConnectionString)) { _logger.Info("Using FileSystemMessagePublisher (messageQueueConnectionString not found)"); var groupFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + $"/{_serviceName}/"; var publisher = new FileSystemMessagePublisher(groupFolder); instance.Dependencies.AddForConstructorParameter(messagePublisher, publisher); } else { _logger.Info("Using TopicMessagePublisher"); var publisher = new TopicMessagePublisher(messageQueueConnectionString, _logger); instance.Dependencies.AddForConstructorParameter(messagePublisher, publisher); } }
protected override void apply(Type pluginType, IConfiguredInstance instance) { var messagePublisher = GetMessagePublisherParameter(instance); if (messagePublisher == 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 publisher = new FileSystemMessagePublisher(groupFolder); instance.Dependencies.AddForConstructorParameter(messagePublisher, publisher); } else { var publisher = new TopicMessagePublisher(messageQueueConnectionString, new NLogLogger(typeof(TopicMessagePublisher))); instance.Dependencies.AddForConstructorParameter(messagePublisher, publisher); } }
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>(); }