public bool Connect() { bool connected = false; IMtApiCallback callback = OperationContext.Current.GetCallbackChannel <IMtApiCallback>(); if (callback != null) { try { mClientsLocker.AcquireWriterLock(10000); try { if (mClientCallbacks.Contains(callback) == false) { mClientCallbacks.Add(callback); } connected = true; } finally { mClientsLocker.ReleaseWriterLock(); } } catch (ApplicationException) { } } return(connected); }
public void Disconnect() { IMtApiCallback callback = OperationContext.Current.GetCallbackChannel <IMtApiCallback>(); if (callback != null) { try { mClientsLocker.AcquireWriterLock(10000); try { mClientCallbacks.Remove(callback); } finally { mClientsLocker.ReleaseWriterLock(); } } catch (ApplicationException) { } } }