System.ServiceModel.Channels.ReliableDuplexSessionChannel
abstract class ReliableDuplexSessionChannel : DuplexChannel, IDuplexSessionChannel, IDuplexChannel, IInputChannel, IChannel, ICommunicationObject, IOutputChannel, ISessionChannel<IDuplexSession>, IAsyncDuplexSessionChannel, IAsyncDuplexChannel, IAsyncInputChannel, IAsyncCommunicationObject, IAsyncOutputChannel, ISessionChannel<IAsyncDuplexSession>
namespace System.ServiceModel.Channels
{
internal abstract class ReliableDuplexSessionChannel : DuplexChannel, IDuplexSessionChannel, IDuplexChannel, IInputChannel, IChannel, ICommunicationObject, IOutputChannel, ISessionChannel<IDuplexSession>, IAsyncDuplexSessionChannel, IAsyncDuplexChannel, IAsyncInputChannel, IAsyncCommunicationObject, IAsyncOutputChannel, ISessionChannel<IAsyncDuplexSession>
{
protected static Func<object, Task> s_startReceivingAsyncStatic;
public IReliableChannelBinder Binder { get; }
protected ReliableOutputConnection OutputConnection { get; }
protected UniqueId OutputID { get; }
protected ChannelReliableSession ReliableSession { get; }
protected IReliableFactorySettings Settings { get; }
public IDuplexSession Session { get; }
protected ReliableDuplexSessionChannel(ChannelManagerBase manager, IReliableFactorySettings settings, IReliableChannelBinder binder);
protected virtual void OnRemoteActivity();
protected Task ProcessDuplexMessageAsync(WsrmMessageInfo info);
protected abstract Task ProcessMessageAsync(WsrmMessageInfo info);
protected Task OnCloseOutputSessionAsync(TimeSpan timeout);
protected virtual void OnMessageDropped();
protected void SetConnections();
protected void SetSession(ChannelReliableSession session);
protected Task StartReceivingAsync();
}
}