ChannelServices 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供静态方法来帮助远程处理通道注册、解析和 URL 发现。 无法继承此类。
public ref class ChannelServices sealed
public sealed class ChannelServices
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ChannelServices
type ChannelServices = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type ChannelServices = class
Public NotInheritable Class ChannelServices
- 继承
-
ChannelServices
- 属性
注解
通道跨应用程序域、进程和计算机等远程处理边界在应用程序之间传输消息。 这些交叉口可以是入站和出站。 通道可以在终结点上侦听入站消息、发送到终结点以获取出站消息,或同时侦听这两者。 这在运行时提供一个扩展点来插入各种协议,即使运行时可能不在通道的另一端也是如此。 运行时对象可用于公开各种语义和实体。 通道提供扩展点,用于将消息转换为特定协议以及从特定协议转换消息。
通道必须公开 IChannel 接口,该接口提供信息属性,如 ChannelName 和 ChannelPriority。 通道是使用该方法注册的 ChannelServices.RegisterChannel 。 还可以从远程处理配置加载通道。 (有关详细信息,请参阅< channel> 元素(模板)。
在客户端上,在消息遍历客户端链后,消息将被移交给客户端 Context 通道接收器链。 第一个通道接收器通常是一个 IClientFormatterSink,它将消息序列化为流,该流将通道接收器链传递到客户端传输接收器。 然后,客户端传输接收器将此流写出到线路。
在服务器端,服务器传输接收器从网络读取请求,并将请求流传递给服务器通道接收器链。 此链末尾的服务器格式化程序接收器会将请求反序列化为消息。 然后,它会将此消息移交给远程处理基础结构,该基础结构会将它调度到服务器 Context 链。
属性
| 名称 | 说明 |
|---|---|
| RegisteredChannels |
获取当前注册的通道的列表。 |
方法
| 名称 | 说明 |
|---|---|
| AsyncDispatchMessage(IMessage, IMessageSink) |
根据消息中嵌入的 URI 以异步方式将给定消息调度到服务器端链。 |
| CreateServerChannelSinkChain(IServerChannelSinkProvider, IChannelReceiver) |
为指定的通道创建通道接收器链。 |
| DispatchMessage(IServerChannelSinkStack, IMessage, IMessage) |
调度传入远程呼叫。 |
| Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
| GetChannel(String) |
返回具有指定名称的已注册通道。 |
| GetChannelSinkProperties(Object) |
返回 IDictionary 给定代理的属性。 |
| GetHashCode() |
用作默认哈希函数。 (继承自 Object) |
| GetType() |
获取当前实例的 Type。 (继承自 Object) |
| GetUrlsForObject(MarshalByRefObject) |
返回可用于访问指定对象的所有 URL 的数组。 |
| MemberwiseClone() |
创建当前 Object的浅表副本。 (继承自 Object) |
| RegisterChannel(IChannel, Boolean) |
向通道服务注册通道。 |
| RegisterChannel(IChannel) |
已过时.
向通道服务注册通道。 RegisterChannel(IChannel) 已过时。 请改用 RegisterChannel(IChannel, Boolean)。 |
| SyncDispatchMessage(IMessage) |
根据消息中嵌入的 URI 同步将传入消息调度到服务器端链。 |
| ToString() |
返回一个表示当前对象的字符串。 (继承自 Object) |
| UnregisterChannel(IChannel) |
从已注册的通道列表中取消注册特定通道。 |