System.ServiceModel.Channels.DuplexChannel
abstract class DuplexChannel : InputQueueChannel<Message>, IDuplexChannel, IInputChannel, IChannel, ICommunicationObject, IOutputChannel, IAsyncDuplexChannel, IAsyncInputChannel, IAsyncCommunicationObject, IAsyncOutputChannel
namespace System.ServiceModel.Channels
{
internal abstract class DuplexChannel : InputQueueChannel<Message>, IDuplexChannel, IInputChannel, IChannel, ICommunicationObject, IOutputChannel, IAsyncDuplexChannel, IAsyncInputChannel, IAsyncCommunicationObject, IAsyncOutputChannel
{
public virtual EndpointAddress LocalAddress { get; }
public abstract EndpointAddress RemoteAddress { get; }
public abstract Uri Via { get; }
protected DuplexChannel(ChannelManagerBase channelManager, EndpointAddress localAddress);
public Task SendAsync(Message message);
public Task SendAsync(Message message, TimeSpan timeout);
public IAsyncResult BeginSend(Message message, AsyncCallback callback, object state);
public IAsyncResult BeginSend(Message message, TimeSpan timeout, AsyncCallback callback, object state);
public void EndSend(IAsyncResult result);
protected abstract Task OnSendAsync(Message message, TimeSpan timeout);
public void Send(Message message);
public void Send(Message message, TimeSpan timeout);
protected virtual void AddHeadersTo(Message message);
public Task<Message> ReceiveAsync();
public Task<Message> ReceiveAsync(TimeSpan timeout);
public Message Receive();
public Message Receive(TimeSpan timeout);
public IAsyncResult BeginReceive(AsyncCallback callback, object state);
public IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state);
public Message EndReceive(IAsyncResult result);
public Task<(bool, Message)> TryReceiveAsync(TimeSpan timeout);
public bool TryReceive(TimeSpan timeout, out Message message);
public IAsyncResult BeginTryReceive(TimeSpan timeout, AsyncCallback callback, object state);
public bool EndTryReceive(IAsyncResult result, out Message message);
public Task<bool> WaitForMessageAsync(TimeSpan timeout);
public bool WaitForMessage(TimeSpan timeout);
public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state);
public bool EndWaitForMessage(IAsyncResult result);
}
}