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 接口,该接口提供和 ChannelPriority等ChannelName信息性属性。 通道是使用 ChannelServices.RegisterChannel 方法注册的。 还可以从远程处理配置加载通道。 (有关详细信息,请参阅 <channel> Element (Template) 。)
在客户端,消息在遍历客户端链后将传递到客户端 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) |
已过时.
向信道服务注册信道。 RegisterChannel(IChannel) 已过时。 请改用 RegisterChannel(IChannel, Boolean)。 |
RegisterChannel(IChannel, Boolean) |
向信道服务注册信道。 |
SyncDispatchMessage(IMessage) |
根据嵌入在消息中的 URI 将传入的消息同步调度到服务器端链。 |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |
UnregisterChannel(IChannel) |
从注册信道列表中注销特定的信道。 |