/// <summary>
        /// Base class used to send and receive messages.
        /// </summary>
        /// <param name="configuration"></param>
        public AzureSenderReceiverBase(BusConfiguration configuration) {
            Guard.ArgumentNotNull(configuration, "configuration");
            this.configuration = configuration;

            tokenProvider = TokenProvider.CreateSharedSecretTokenProvider(configuration.ServiceBusIssuerName, configuration.ServiceBusIssuerKey);

            var servicePath = string.Empty;

            if (!string.IsNullOrWhiteSpace(configuration.ServicePath)) {
                servicePath = configuration.ServicePath;
            }

            serviceUri = ServiceBusEnvironment.CreateServiceUri("sb", configuration.ServiceBusNamespace, servicePath);
            factory = MessagingFactory.Create(serviceUri, tokenProvider);
            namespaceManager = new NamespaceManager(serviceUri, tokenProvider);
            EnsureTopic(configuration.TopicName);
        }
        /// <summary>
        /// Base class used to send and receive messages.
        /// </summary>
        /// <param name="configuration"></param>
        public AzureSenderReceiverBase(BusConfiguration configuration) {
            if (configuration == null) {
                throw new ArgumentNullException("configuration");
            }
            this.configuration = configuration;

            tokenProvider = TokenProvider.CreateSharedSecretTokenProvider(configuration.ServiceBusIssuerName, configuration.ServiceBusIssuerKey);

            var servicePath = string.Empty;

            if (!string.IsNullOrWhiteSpace(configuration.ServicePath)) {
                servicePath = configuration.ServicePath;
            }

            serviceUri = ServiceBusEnvironment.CreateServiceUri("sb", configuration.ServiceBusNamespace, servicePath);
            factory = MessagingFactory.Create(serviceUri, tokenProvider);
            namespaceManager = new NamespaceManager(serviceUri, tokenProvider);
            Helpers.Execute(() => EnsureTopic(configuration.TopicName));
        }
 public AzureBusReceiver(BusConfiguration configuration)
     : base(configuration) {
 }
 public AzureBusReceiver(BusConfiguration configuration)
     : base(configuration) {
     Guard.ArgumentNotNull(configuration, "configuration");
 }
        /// <summary>
        /// Get the settings builder optionally passing in your existing IOC Container
        /// </summary>
        /// <param name="container">Your optional existing IOC container. Use <see cref="WithSettings()"/> if you do not have an existing container.</param>
        /// <returns></returns>
        public static BusConfigurationBuilder WithSettings(IContainer container) {
            if (configuration == null) {
                lock (lockObject) {
                    if (configuration == null) {
                        configuration = new BusConfiguration();
                    }
                }
            }

            return new BusConfigurationBuilder(configuration);
        }
 internal BusConfigurationBuilder(BusConfiguration configuration)
 {
     Guard.ArgumentNotNull(configuration, "configuration");
     this.configuration = configuration;
 }
 /// <summary>
 /// Get the settings build while passing in your IOC Container
 /// </summary>
 /// <param name="builder">Your IOC container</param>
 /// <returns></returns>
 public static BusConfigurationBuilder WithSettings(Autofac.ContainerBuilder builder) {
     if (builder == null) {
         throw new ArgumentNullException("builder");
     }
     if (configuration == null) {
         lock (lockObject) {
             if (configuration == null) {
                 configuration = new BusConfiguration();
             }
         }
     }
     //last one in wins so if one is registered it will be called.
     builder.RegisterType<JsonServiceBusSerializer>().As<IServiceBusSerializer>().SingleInstance();
     return new BusConfigurationBuilder(builder, configuration);
 }