<PackageReference Include="System.ServiceModel.Http" Version="6.2.0" />

System.ServiceModel.Channels.TransportDuplexSessionChannel

protected BufferManager BufferManager { get; }

protected abstract bool IsStreamedOutput { get; }

public EndpointAddress LocalAddress { get; }

protected MessageEncoder MessageEncoder { get; protected set; }

public SecurityMessageProperty RemoteSecurity { get; protected set; }

protected SemaphoreSlim SendLock { get; }

public IDuplexSession Session { get; protected set; }

protected TransportDuplexSessionChannel(ChannelManagerBase manager, ITransportFactorySettings settings, EndpointAddress localAddress, Uri localVia, EndpointAddress remoteAddress, Uri via)

protected void ApplyChannelBinding(Message message)

protected abstract AsyncCompletionResult BeginCloseOutput(TimeSpan timeout, Action<object> callback, object state)

public IAsyncResult BeginReceive(AsyncCallback callback, object state)

public IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state)

public IAsyncResult BeginTryReceive(TimeSpan timeout, AsyncCallback callback, object state)

public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state)

protected void CloseOutputSession(TimeSpan timeout)

protected abstract void CloseOutputSessionCore(TimeSpan timeout)

protected abstract Task CloseOutputSessionCoreAsync(TimeSpan timeout)

protected abstract void CompleteClose(TimeSpan timeout)

protected abstract ArraySegment<byte> EncodeMessage(Message message)

public bool EndTryReceive(IAsyncResult result, out Message message)

public bool EndWaitForMessage(IAsyncResult result)

protected virtual void FinishWritingMessage()

protected virtual void OnReceiveMessage(Message message)

protected abstract void OnSendCore(Message message, TimeSpan timeout)

protected virtual void PrepareMessage(Message message)

public Message Receive()

public Message Receive(TimeSpan timeout)

public Task<Message> ReceiveAsync(TimeSpan timeout)

protected abstract void ReturnConnectionIfNecessary(bool abort, TimeSpan timeout)

protected void SetMessageSource(IMessageSource messageSource)

protected abstract AsyncCompletionResult StartWritingBufferedMessage(Message message, ArraySegment<byte> messageData, bool allowOutputBatching, TimeSpan timeout, Action<object> callback, object state)

protected abstract AsyncCompletionResult StartWritingStreamedMessage(Message message, TimeSpan timeout, Action<object> callback, object state)

public bool TryReceive(TimeSpan timeout, out Message message)

public bool WaitForMessage(TimeSpan timeout)

public Task<bool> WaitForMessageAsync(TimeSpan timeout)