コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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>();
        }