Пример #1
0
        /// <summary>
        /// Create a message dispatcher using the specified <see cref="IBinder"/>.
        /// </summary>
        /// <param name="binder"></param>
        /// <param name="logger">The function logger</param>
        /// <param name="cancellationToken"></param>
        /// <param name="configure"></param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException"></exception>
        public static IBrokeredMessageReceiver CreateBrokeredMessageReceiver(this IBinder binder, ILogger logger, CancellationToken cancellationToken,
                                                                             Action <IWebJobReceiverConfigurator> configure)
        {
            if (binder == null)
            {
                throw new ArgumentNullException(nameof(binder));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }
            if (configure == null)
            {
                throw new ArgumentNullException(nameof(configure));
            }

            var topologyConfiguration = new ServiceBusTopologyConfiguration(AzureBusFactory.MessageTopology);
            IServiceBusBusConfiguration busConfiguration = new ServiceBusBusConfiguration(topologyConfiguration);

            var receiveEndpointConfiguration = busConfiguration.HostConfiguration.CreateReceiveEndpointConfiguration("unspecified");

            var configurator = new WebJobBrokeredMessageReceiverSpecification(binder, logger, receiveEndpointConfiguration, cancellationToken);

            configure(configurator);

            return(configurator.Build());
        }
        public static IBrokeredMessageReceiver CreateBrokeredMessageReceiver(this IBusFactorySelector selector, IBinder binder,
                                                                             Action <IWebJobReceiverConfigurator> configure)
        {
            if (binder == null)
            {
                throw new ArgumentNullException(nameof(binder));
            }

            if (configure == null)
            {
                throw new ArgumentNullException(nameof(configure));
            }

            var topologyConfiguration = new ServiceBusTopologyConfiguration(AzureBusFactory.MessageTopology);
            var busConfiguration      = new ServiceBusBusConfiguration(topologyConfiguration);

            ServiceBusHostConfigurator hostConfigurator = new ServiceBusHostConfigurator(new Uri("sb://no-host-configured/"));

            var hostConfiguration = busConfiguration.CreateHostConfiguration(hostConfigurator.Settings);

            var endpointConfiguration = new BrokeredMessageReceiverServiceBusEndpointConfiguration(hostConfiguration, busConfiguration);

            var configurator = new WebJobBrokeredMessageReceiverSpecification(binder, endpointConfiguration);

            configure(configurator);

            return(configurator.Build());
        }
Пример #3
0
        public static IBrokeredMessageReceiver CreateBrokeredMessageReceiver(this IBusFactorySelector selector, IBinder binder,
                                                                             Action <IWebJobReceiverConfigurator> configure)
        {
            if (binder == null)
            {
                throw new ArgumentNullException(nameof(binder));
            }

            if (configure == null)
            {
                throw new ArgumentNullException(nameof(configure));
            }

            var topologyConfiguration = new ServiceBusTopologyConfiguration(AzureBusFactory.MessageTopology);
            var busConfiguration      = new ServiceBusBusConfiguration(topologyConfiguration);

            var queueConfigurator = new QueueConfigurator("no-host-configured")
            {
                AutoDeleteOnIdle = Defaults.TemporaryAutoDeleteOnIdle,
            };

            var settings = new ReceiveEndpointSettings("no-host-configured", queueConfigurator);

            var busEndpointConfiguration = busConfiguration.CreateReceiveEndpointConfiguration(settings, busConfiguration);

            var configurator = new WebJobBrokeredMessageReceiverSpecification(binder, busEndpointConfiguration);

            configure(configurator);

            return(configurator.Build());
        }