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

System.ServiceModel.ClientBase<TChannel>

public abstract class ClientBase<TChannel> : ICommunicationObject, IDisposable, IAsyncDisposable
namespace System.ServiceModel { public abstract class ClientBase<TChannel> : ICommunicationObject, IDisposable, IAsyncDisposable where TChannel : class { protected delegate IAsyncResult BeginOperationDelegate (object[] inValues, AsyncCallback asyncCallback, object state); protected delegate object[] EndOperationDelegate (IAsyncResult result); protected class InvokeAsyncCompletedEventArgs : AsyncCompletedEventArgs { public object[] Results { get; } } protected class AsyncOperationContext { } protected class ChannelBase<T> : IClientChannel, IContextChannel, IChannel, ICommunicationObject, IExtensibleObject<IContextChannel>, IDisposable, IOutputChannel, IRequestChannel, IChannelBaseProxy where T : class { event EventHandler<UnknownMessageReceivedEventArgs> IClientChannel.UnknownMessageReceived; event EventHandler ICommunicationObject.Closed; event EventHandler ICommunicationObject.Closing; event EventHandler ICommunicationObject.Faulted; event EventHandler ICommunicationObject.Opened; event EventHandler ICommunicationObject.Opening; protected ChannelBase(ClientBase<T> client); protected IAsyncResult BeginInvoke(string methodName, object[] args, AsyncCallback callback, object state); protected object EndInvoke(string methodName, object[] args, IAsyncResult result); } protected TChannel Channel { get; } public static CacheSetting CacheSetting { get; set; } public ChannelFactory<TChannel> ChannelFactory { get; } public ClientCredentials ClientCredentials { get; } public CommunicationState State { get; } public IClientChannel InnerChannel { get; } public ServiceEndpoint Endpoint { get; } event EventHandler ICommunicationObject.Closed; event EventHandler ICommunicationObject.Closing; event EventHandler ICommunicationObject.Faulted; event EventHandler ICommunicationObject.Opened; event EventHandler ICommunicationObject.Opening; protected ClientBase(); protected ClientBase(Binding binding, EndpointAddress remoteAddress); protected ClientBase(ServiceEndpoint endpoint); protected ClientBase(InstanceContext callbackInstance, Binding binding, EndpointAddress remoteAddress); protected T GetDefaultValueForInitialization<T>(); public void Open(); public Task OpenAsync(); public void Abort(); public void Close(); public Task CloseAsync(); protected virtual TChannel CreateChannel(); protected void InvokeAsync(BeginOperationDelegate beginOperationDelegate, object[] inValues, EndOperationDelegate endOperationDelegate, SendOrPostCallback operationCompletedCallback, object userState); } }