Beispiel #1
0
        public async Task <long> GetMessageCountAsync(string queueName)
        {
            if (Token.IsExpired)
            {
                Token = GetNewToken();
            }

            return(await GetQueueMessages(ConnectionValues.ServiceBusEndpoint, queueName, Token));
        }
Beispiel #2
0
        public void BuildToken()
        {
            ServiceBusConnectionValues values = ServiceBusConnectionValues.CreateFromConnectionString(connectionString);

            TimeSpan validFor  = new TimeSpan(1, 0, 0);
            DateTime expiresOn = DateTime.Now.Add(validFor);

            ServiceBusToken token = ServiceBusTokenManager.GetToken(values, validFor.TotalSeconds);

            Assert.AreEqual(token.IsExpired, false);
            Assert.AreEqual(token.ExpiresOn > expiresOn, true);
            Assert.AreNotEqual(token.Value, string.Empty);

            Trace.WriteLine(token.Value);
        }
Beispiel #3
0
        private async Task <long> GetQueueMessages(string serviceBusUrl, string queueName, ServiceBusToken token)
        {
            var apiVersion    = "2017-04";
            var queueEndpoint = $"{serviceBusUrl}{queueName}/?api-version={apiVersion}";

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Add("Authorization", token.Value);
                var xmlResponse = await client.RestGet(queueEndpoint);

                var messageCount = new Regex(@"<MessageCount>(.+?)<\/MessageCount>").Match(xmlResponse).Groups[1].Value;
                return(long.Parse(messageCount));
            }
        }
Beispiel #4
0
 public ServiceBusQueueClient(ServiceBusConnectionValues connectionValues)
 {
     ConnectionValues = connectionValues;
     Token            = GetNewToken();
 }