protected override async ValueTask DisposeAsync(bool disposing) { await ConnectionsLock.TryLockAsync( async() => { if (HostServer != null) { await HostServer.DisposeAsync(); HostServer = null; } }, 5000, true); await base.DisposeAsync(disposing); }