<PackageReference Include="System.ServiceModel.Primitives" Version="8.1.1" />

System.ServiceModel.Channels.CommunicationObject

public abstract class CommunicationObject : ICommunicationObject
protected abstract TimeSpan DefaultCloseTimeout { get; }

protected abstract TimeSpan DefaultOpenTimeout { get; }

protected bool IsDisposed { get; }

public CommunicationState State { get; }

protected object ThisLock { 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()

protected virtual Type GetCommunicationObjectType()

protected abstract void OnAbort()

protected abstract IAsyncResult OnBeginClose(TimeSpan timeout, AsyncCallback callback, object state)

protected abstract IAsyncResult OnBeginOpen(TimeSpan timeout, AsyncCallback callback, object state)

protected abstract void OnClose(TimeSpan timeout)

protected virtual void OnClosed()

protected virtual void OnClosing()

protected abstract void OnEndClose(IAsyncResult result)

protected abstract void OnEndOpen(IAsyncResult result)

protected virtual void OnFaulted()

protected abstract void OnOpen(TimeSpan timeout)

protected virtual void OnOpened()

protected virtual void OnOpening()

public void Open()

public void Open(TimeSpan timeout)