Esempio n. 1
0
        /// <summary>
        /// Once this object is constructed the resource will be created/verified and the client is set up to "listen" for the Topic
        /// </summary>
        /// <param name="connectionString"></param>
        /// <param name="topicName"></param>
        /// <param name="subscriptionName"></param>
        public Subscription(string connectionString, string topicName, string subscriptionName, bool createIfNeeded, bool cleanupIfNeeded, bool peekOnly, ISerializationUtility serializationUtility)
        {
            ConnectionString = connectionString;
            Name             = subscriptionName;
            TopicName        = topicName;

            // TODO: Possibly inject configuration with a class.

            DeleteOnIdleTime  = DELETE_ON_IDLE_TIME_DEFAULT;
            LockDuration      = LOCK_DURATION_DEFAULT;
            MessageTimeToLive = MESSAGE_TIME_TO_LIVE_DEFAULT;
            WaitDelay         = WAIT_DELAY_DEFAULT;

            _peekOnly = peekOnly;

            if (createIfNeeded)
            {
                Create(cleanupIfNeeded);
            }

            _serializationUtility = serializationUtility;

            //_subscriptionClient = new SubscriptionClient(new ServiceBusConnectionStringBuilder(ConnectionString), Name);
            _subscriptionClient = new SubscriptionClient(ConnectionString, TopicName, Name);

            RegisterCallback();

            //ProcessMessages();
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="connectionString">The full connection string to the Azure Service Bus namespace.</param>
        /// <param name="queueName">The name of the queue.</param>
        /// <param name="createIfNeeded">Create the queue resource within the namespace.</param>
        public Queue(string connectionString, string queueName, bool createIfNeeded, ISerializationUtility serializationUtility)
        {
            ConnectionString = connectionString ?? throw new ArgumentNullException(nameof(connectionString), "The Azure connection string cannot be null");
            Name             = queueName ?? throw new ArgumentNullException(nameof(queueName), "The Azure queue name cannot be null");

            if (createIfNeeded)
            {
                Create();
            }

            _queueClient = new QueueClient(ConnectionString, Name, ReceiveMode.PeekLock, null);

            IsAsynchronous = true;

            _serializationUtility = serializationUtility;
        }
Esempio n. 3
0
        /// <summary>
        /// NOTE: If creating the topic within ASB there is currently no way to configure the Topic using this class.
        /// </summary>
        /// <param name="connectionString"></param>
        /// <param name="topicName"></param>
        /// <param name="createIfNeeded">Provision the Topic within ASB if needed.</param>
        public Topic(ITopicConfiguration configuration, ISerializationUtility serializationUtility)
        {
            var config = configuration as TopicConfiguration;

            if (config == null)
            {
                throw new ArgumentOutOfRangeException($"The type {nameof(TopicConfiguration)} is expected");
            }

            ConnectionString = config.ConnectionString;
            Name             = config.Name;

            if (config.CreateIfNeeded)
            {
                Create(config);
            }

            //var builder = new ServiceBusConnectionStringBuilder(ConnectionString);
            //_topicClient = new TopicClient(builder);
            _topicClient = new TopicClient(ConnectionString, Name);

            _serializationUtility = serializationUtility;
        }
Esempio n. 4
0
 public ProviderUtility(ISerializationUtility serialization, ISiteMenuUtility siteMenu, IAutoEndUtility autoEnd)
 {
     Serialization = serialization;
     SiteMenu      = siteMenu;
     AutoEnd       = autoEnd;
 }
Esempio n. 5
0
 public OAuth2LeggedAuthenticator(IRestClient client, IOAuthCredentials credentials, ISerializationUtility serializationUtility)
 {
     _client               = client;
     _credentials          = credentials;
     _serializationUtility = serializationUtility;
 }