频道 (Windows Web 服务)
通道封装两个或更多方之间的通信上下文,用于发送和接收消息。
在客户端上,使用 WsCreateChannel 创建通道。 在服务器上,使用 WsCreateChannelForListener 创建客户端可以使用 侦听器接受的通道。
创建通道时,请指定以下信息,该信息确定要使用的通道和线路协议的本地行为。
- 一个 WS_CHANNEL_TYPE,用于标识通道的消息交换模式。
- 一个 WS_CHANNEL_BINDING,用于标识要使用的传输协议。
- 一个 WS_SECURITY_DESCRIPTION,它指定用于通道的安全性。 创建用于服务器中的通道时,将为将接受给定侦听器的所有通道指定一次。
- WS_CHANNEL_PROPERTY集,用于指定其他可选设置(有关这些设置的列表,请参阅 WS_CHANNEL_PROPERTY_ID 枚举)。
在使用通道之前,必须通过调用 WsOpenChannel 函数并指定通道和 终结点地址,以及其他可选信息来打开该通道。
有关通道的状态转换的信息,请参阅 频道状态 主题。
有关通道的详细信息,请参阅 通道层概述 主题。
以下 API 元素用于通道。
列举 | 描述 |
---|---|
WS_CHANNEL_BINDING | 指示要用于通道的协议堆栈。 |
WS_CHANNEL_PROPERTY_ID | 按 ID 标识每个通道属性。 |
WS_CHANNEL_STATE | 通道的状态。 |
WS_CHANNEL_TYPE | 指示通道的基本特征,例如是否会话,以及支持哪些通信方向。 |
WS_ENCODING | 不同的编码(消息格式)。 |
WS_RECEIVE_OPTION | 指定从通道接收消息时是否需要消息。 |
WS_TRANSFER_MODE | 指定发送或接收的消息是流式传输还是缓冲。 |
功能 | 描述 |
---|---|
WsAbandonMessage | 跳过通道消息的其余部分。 |
WsAbortChannel | 中止指定通道上所有挂起的 I/O,并将通道状态设置为 WS_CHANNEL_STATE_FAULTED。 |
WsCloseChannel | 不再需要通道时关闭通道。 |
WsCreateChannel | 创建通道。 |
WsCreateChannelForListener | 为侦听器创建通道。 |
WsFreeChannel | 释放与通道关联的内存资源。 |
WsGetChannelProperty | 检索通道参数引用的 Channel 的属性。 |
WsOpenChannel | 打开指向终结点的通道。 |
WsReadMessageEnd | 从通道读取消息的结束元素。 |
WsReadMessageStart | 从通道中读取下一条消息的标头,并准备读取正文元素。 |
WsReceiveMessage | 接收消息并将消息正文反序列化为值。 |
WsRequestReply | 发送请求消息并接收相关回复消息。 |
WsResetChannel | 重置通道,使其可以重复使用。 |
WsSendMessage | 使用序列化在通道上发送消息以写入正文元素。 |
WsSendReplyMessage | 发送答复收到的消息。 |
WsSetChannelProperty | 设置通道的属性。 |
WsSetMessageProperty | 设置消息的属性。 |
WsWriteMessageEnd | 将消息的结束元素写入通道。 |
WsWriteMessageStart | 将消息的标头写出到通道,并准备写入正文元素。 |
处理 | 描述 |
---|---|
WS_CHANNEL | 用于引用通道的不透明类型。 |
结构 | 描述 |
---|---|
WS_CHANNEL_DECODER | 一组回调,用于转换收到的消息的内容类型和编码字节。 |
WS_CHANNEL_ENCODER | 一组回调,可以转换已发送消息的内容类型和编码字节。 |
WS_CHANNEL_PROPERTIES | 一组 WS_CHANNEL_PROPERTY 结构。 |
WS_CHANNEL_PROPERTY | 通道特定的设置。 |
WS_CUSTOM_CHANNEL_CALLBACKS | 构成自定义通道实现的一组回调。 |
WS_CUSTOM_HTTP_PROXY | 用于使用 WS_CHANNEL_PROPERTY_ID 枚举的 WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY 值指定通道的自定义代理。 |
WS_HTTP_HEADER_MAPPING | 表示作为 WS_HTTP_MESSAGE_MAPPING的一部分映射的单个标头。 |
WS_HTTP_MESSAGE_MAPPING | 有关如何在消息对象中表示 HTTP 请求或响应的信息。 |
WS_HTTP_REDIRECT_CALLBACK_CONTEXT | 指定用于控制 HTTP 自动重定向行为的回调函数和状态。 |
WS_MESSAGE_DESCRIPTION | 给定作说明的输入和输出 WS_MESSAGE 的架构。 |