/// <summary> /// Deletes all queues and exchanges created or used by this Router. /// </summary> public void RemoveRouting(Func <string, bool> filter) { if (filter == null) { throw new ArgumentNullException(nameof(filter)); } lock (_lockObject) { MessagingBase.InternalResetCaches(); _shortTermConnection.WithChannel(channel => { foreach (var queue in queues.Where(filter)) { channel.QueueDelete(queue); } foreach (var exchange in exchanges.Where(filter)) { channel.ExchangeDelete(exchange); } }); queues.Clear(); exchanges.Clear(); } }