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()); }
public IHttpActionResult ListSubscriptions() { return(Ok(_subscriptionManager.ListSubscribers())); }