public async Task CloseAsync(CancellationToken cancellationToken)
{
var tasks = new List<Task>();
foreach (var r in mReceivers)
tasks.Add(r.StopAsync());
if (null != mMessagingFactory && !mMessagingFactory.IsClosed)
tasks.Add(mMessagingFactory.CloseAsync());
await Task.WhenAll(tasks);
mReceivers.ForEach(r => r = null);
mReceivers.Clear();
}