public override void Disconnect() { try { base.Disconnect(); OnDisconnected?.BeginInvoke(result => { try { OnDisconnected.EndInvoke(result); } catch { } }, null); } catch (Exception error) { throw error; } }