System.Runtime.Remoting.Messaging 命名空间
System.Runtime.Remoting.Messaging 命名空间包含用于创建和传输消息的类。远程处理结构使用消息与远程对象进行通信。消息用于传输远程方法调用、激活远程对象和传达信息。消息对象携带一组命名属性,包括操作标识符、代表信息和参数等。System.Runtime.Remoting.Messaging 命名空间的一些最重要的类是 AsyncResult 类、RemotingSurrogateSelector 类和 ReturnMessage 类。
AsyncResult 类存储和返回异步方法调用的结果。AsyncResult 实例包含 return 值、调用状态、用于该调用的委托以及其他有关该异步方法调用的信息。
RemotingSurrogateSelector 类可用于控制扩展 MarshalByRefObject 的对象的序列化。RemotingSurrogateSelector 选择用在这种对象的序列化和反序列化中的代理项。代理项是可以控制对象的序列化或反序列化的对象。
ReturnMessage 类保存远程方法调用后返回的信息。ReturnMessage 保存从该远程方法调用产生的 return 值和所有 out 或 ref 参数。
类
类 | 说明 | |
---|---|---|
AsyncResult | 封装异步委托上的异步操作的结果。 | |
CallContext | 提供与执行代码路径一起传送的属性集。无法继承此类。 | |
ConstructionCall | 实现 IConstructionCallMessage 接口以创建一条请求消息,该消息构成远程对象上的构造函数调用。 | |
ConstructionResponse | 实现 IConstructionReturnMessage 接口以创建一个消息,该消息对实例化远程对象的调用做出响应。 | |
Header | 定义调用的带外数据。 | |
InternalMessageWrapper | 包装在消息接收器之间传递的远程处理数据,或者用于从客户端到服务器的请求,或者用于后续的响应。 | |
LogicalCallContext | 提供在进行远程方法调用期间用执行代码路径传送的一组属性。 | |
MethodCall | 实现 IMethodCallMessage 接口来创建一个请求消息,该消息作为远程对象上的方法调用。 | |
MethodCallMessageWrapper | 实现 IMethodCallMessage 接口来创建一个请求消息,该消息作为远程对象上的方法调用。 | |
MethodResponse | 实现 IMethodReturnMessage 接口来创建一条消息,该消息作为远程对象上的方法响应。 | |
MethodReturnMessageWrapper | 实现 IMethodReturnMessage 接口以创建一条消息,该消息作为远程对象上的方法调用的响应。 | |
OneWayAttribute | 将方法标记为单向方法,无返回值和 out 或 ref 参数。 | |
RemotingSurrogateSelector | 选择可用于序列化从 MarshalByRefObject 派生的对象的远程处理代理项。 | |
ReturnMessage | 保存为响应远程对象上的方法调用而返回的消息。 |
接口
接口 | 说明 | |
---|---|---|
ILogicalThreadAffinative | 标记可以在 LogicalCallContext 中传播到 AppDomain 外部的对象。 | |
IMessage | 包含在合作的消息接收器之间发送的通讯数据。 | |
IMessageCtrl | 提供一种方法,以在使用 IMessageSink.AsyncProcessMessage 调度异步消息后控制这些消息。 | |
IMessageSink | 定义消息接收器的接口。 | |
IMethodCallMessage | 定义方法调用消息接口。 | |
IMethodMessage | 定义方法消息接口。 | |
IMethodReturnMessage | 定义方法调用返回消息接口。 | |
IRemotingFormatter | 提供所有格式化程序的远程过程调用 (RPC) 接口。 |
委托
委托 | 说明 | |
---|---|---|
HeaderHandler | 表示将在反序列化期间处理流上的标头的方法。 | |
MessageSurrogateFilter | 确定在为 MarshalByRefObject 类创建 ObjRef 时,RemotingSurrogateSelector 类是否忽略某个特定的 IMessage 属性。 |