System.ServiceModel.Channels.CommunicationObject
namespace System.ServiceModel.Channels
{
public abstract class CommunicationObject : ICommunicationObject, IAsyncCommunicationObject
{
protected bool IsDisposed { get; }
public CommunicationState State { get; }
protected object ThisLock { get; }
protected abstract TimeSpan DefaultCloseTimeout { get; }
protected abstract TimeSpan DefaultOpenTimeout { get; }
public event EventHandler Closed;
public event EventHandler Closing;
public event EventHandler Faulted;
public event EventHandler Opened;
public event EventHandler Opening;
protected CommunicationObject();
protected CommunicationObject(object mutex);
public void Abort();
public IAsyncResult BeginClose(AsyncCallback callback, object state);
public IAsyncResult BeginClose(TimeSpan timeout, AsyncCallback callback, object state);
public IAsyncResult BeginOpen(AsyncCallback callback, object state);
public IAsyncResult BeginOpen(TimeSpan timeout, AsyncCallback callback, object state);
public void Close();
public void Close(TimeSpan timeout);
public void EndClose(IAsyncResult result);
public void EndOpen(IAsyncResult result);
protected void Fault();
public void Open();
public void Open(TimeSpan timeout);
protected virtual void OnClosed();
protected virtual void OnClosing();
protected virtual void OnFaulted();
protected virtual void OnOpened();
protected virtual void OnOpening();
protected virtual Type GetCommunicationObjectType();
protected abstract void OnAbort();
protected abstract void OnClose(TimeSpan timeout);
protected abstract IAsyncResult OnBeginClose(TimeSpan timeout, AsyncCallback callback, object state);
protected abstract void OnEndClose(IAsyncResult result);
protected abstract void OnOpen(TimeSpan timeout);
protected abstract IAsyncResult OnBeginOpen(TimeSpan timeout, AsyncCallback callback, object state);
protected abstract void OnEndOpen(IAsyncResult result);
}
}