MessageHandlerBase 类

定义

用于发送和接收消息的抽象基类。

public abstract class MessageHandlerBase : IDisposable, Microsoft.IDisposableObservable, StreamJsonRpc.IJsonRpcMessageHandler
public abstract class MessageHandlerBase : IDisposable, Microsoft.IDisposableObservable, Microsoft.VisualStudio.Threading.IAsyncDisposable, StreamJsonRpc.IJsonRpcMessageHandler
type MessageHandlerBase = class
    interface IJsonRpcMessageHandler
    interface IDisposableObservable
    interface IDisposable
type MessageHandlerBase = class
    interface IJsonRpcMessageHandler
    interface IDisposableObservable
    interface IDisposable
    interface IAsyncDisposable
Public MustInherit Class MessageHandlerBase
Implements IDisposable, IDisposableObservable, IJsonRpcMessageHandler
Public MustInherit Class MessageHandlerBase
Implements IAsyncDisposable, IDisposable, IDisposableObservable, IJsonRpcMessageHandler
继承
MessageHandlerBase
派生
实现

注解

此类及其派生可以安全地从任何线程调用。 WriteAsync(JsonRpcMessage, CancellationToken)调用由信号灯保护,以确保消息完整性,并且可以从任何线程进行。 调用方必须注意按顺序调用 ReadAsync(CancellationToken)

构造函数

MessageHandlerBase(IJsonRpcMessageFormatter)

初始化 MessageHandlerBase 类的新实例。

属性

CanRead

获取一个值,该值指示此消息处理程序是否可以接收消息。

CanWrite

获取一个值,该值指示此消息处理程序是否可以发送消息。

DisposalToken

获取释放此实例时取消的令牌。

Formatter

获取用于消息序列化的格式化程序。

方法

Dispose()
已过时.

释放此实例,并取消任何挂起的读取或写入操作。

Dispose(Boolean)

释放此实例分配的资源,这些资源对读取和写入都是常见的。

DisposeAsync()

释放此实例,并取消任何挂起的读取或写入操作。

DisposeReader()

释放此实例分配的资源,这些资源用于读取 (不写入) 。

DisposeWriter()

释放此实例分配的资源,这些资源用于写入 (不读取) 。

FlushAsync(CancellationToken)

确保传输到此点的所有消息都路由到其目标,而不是坐在一些本地缓冲区中。

ReadAsync(CancellationToken)

从传输中读取不同的完整消息,并在必要时等待一条消息。

ReadCoreAsync(CancellationToken)

读取非重复且完整的消息,并在必要时等待一条消息。

WriteAsync(JsonRpcMessage, CancellationToken)

将消息写入传输并刷新。

WriteCoreAsync(JsonRpcMessage, CancellationToken)

写入消息。

显式接口实现

IDisposableObservable.IsDisposed

获取一个值,该值指示是否已释放此实例。

适用于