通过


ChannelServices 类

定义

提供静态方法来帮助远程处理通道注册、解析和 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 接口,该接口提供信息属性,如 ChannelNameChannelPriority。 通道是使用该方法注册的 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)

从已注册的通道列表中取消注册特定通道。

适用于