示例#1
0
        public void Stop()
        {
            var activeSubscriptions = _subscriptionManager
                                      .ListSubscribers()
                                      .Where(sub => sub.State == MessageSubscriberState.Started);

            foreach (var messageSubscriberInfo in activeSubscriptions)
            {
                _subscriptionManager.StopSubscriber(messageSubscriberInfo.Id);
            }
        }
        public async Task <IHttpActionResult> Delete(string name)
        {
            var queues = await _messageQueueManager.ListQueues();

            if (!queues.Any(x => x.Equals(name, StringComparison.InvariantCultureIgnoreCase)))
            {
                return(NotFound());
            }

            var subs = _subscriptionManager.ListSubscribers().Where(s => s.QueueName == name);

            foreach (var sub in subs)
            {
                _subscriptionManager.StopSubscriber(sub.Id);
            }

            await _messageQueueManager.DeleteQueueIfExists(name);

            foreach (var sub in subs)
            {
                _subscriptionManager.RemoveSubscriber(sub.Id);
            }
            return(Ok());
        }
示例#3
0
 public IHttpActionResult ListSubscriptions()
 {
     return(Ok(_subscriptionManager.ListSubscribers()));
 }