/// <summary>
 /// Creates a producer registry initialized with producers for ASB derived from the publications
 /// </summary>
 /// <param name="configuration">The configuration of the connection to ASB</param>
 /// <param name="asbPublications">A set of publications - topics on the server - to configure</param>
 public AzureServiceBusProducerRegistryFactory(
     AzureServiceBusConfiguration configuration,
     IEnumerable <AzureServiceBusPublication> asbPublications)
 {
     _clientProvider    = new ServiceBusConnectionStringClientProvider(configuration.ConnectionString);
     _asbPublications   = asbPublications;
     _bulkSendBatchSize = configuration.BulkSendBatchSize;
 }
 /// <summary>
 /// Creates a producer registry initialized with producers for ASB derived from the publications
 /// </summary>
 /// <param name="clientProvider">The connection to ASB</param>
 /// <param name="asbPublications">A set of publications - topics on the server - to configure</param>
 /// <param name="bulkSendBatchSize">The maximum size to chunk messages when dispatching to ASB</param>
 public AzureServiceBusProducerRegistryFactory(
     IServiceBusClientProvider clientProvider,
     IEnumerable <AzureServiceBusPublication> asbPublications,
     int bulkSendBatchSize = 10)
 {
     _clientProvider    = clientProvider;
     _asbPublications   = asbPublications;
     _bulkSendBatchSize = bulkSendBatchSize;
 }
        /// <summary>
        /// Factory to create an Azure Service Bus Producer
        /// </summary>
        /// <param name="clientProvider">The connection to ASB</param>
        /// <param name="asbPublication">Describes the parameters for the producer</param>
        /// <param name="bulkSendBatchSize">When sending more than one message using the MessageProducer, the max amount to send in a single transmission.</param>
        /// <returns></returns>
        public static AzureServiceBusMessageProducer Get(
            IServiceBusClientProvider clientProvider,
            AzureServiceBusPublication asbPublication,
            int bulkSendBatchSize = 10)
        {
            var nameSpaceManagerWrapper = new AdministrationClientWrapper(clientProvider);
            var topicClientProvider     = new ServiceBusSenderProvider(clientProvider);

            return(new AzureServiceBusMessageProducer(nameSpaceManagerWrapper, topicClientProvider, asbPublication.MakeChannels, bulkSendBatchSize));
        }
Exemple #4
0
 public ServiceBusReceiverProvider(IServiceBusClientProvider clientProvider)
 {
     _client = clientProvider.GetServiceBusClient();
 }
 /// <summary>
 /// Initializes an Instance of <see cref="AdministrationClientWrapper"/>
 /// </summary>
 /// <param name="clientProvider"></param>
 public AdministrationClientWrapper(IServiceBusClientProvider clientProvider)
 {
     _clientProvider = clientProvider;
     Initialise();
 }