WS_CHANNEL_PROPERTY_ID 枚举 (webservices.h)

每个通道属性都由 ID 标识,并具有关联的值。 如果在创建通道时未指定属性,则使用其默认值。

语法

typedef enum {
  WS_CHANNEL_PROPERTY_MAX_BUFFERED_MESSAGE_SIZE = 0,
  WS_CHANNEL_PROPERTY_MAX_STREAMED_MESSAGE_SIZE = 1,
  WS_CHANNEL_PROPERTY_MAX_STREAMED_START_SIZE = 2,
  WS_CHANNEL_PROPERTY_MAX_STREAMED_FLUSH_SIZE = 3,
  WS_CHANNEL_PROPERTY_ENCODING = 4,
  WS_CHANNEL_PROPERTY_ENVELOPE_VERSION = 5,
  WS_CHANNEL_PROPERTY_ADDRESSING_VERSION = 6,
  WS_CHANNEL_PROPERTY_MAX_SESSION_DICTIONARY_SIZE = 7,
  WS_CHANNEL_PROPERTY_STATE = 8,
  WS_CHANNEL_PROPERTY_ASYNC_CALLBACK_MODEL = 9,
  WS_CHANNEL_PROPERTY_IP_VERSION = 10,
  WS_CHANNEL_PROPERTY_RESOLVE_TIMEOUT = 11,
  WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT = 12,
  WS_CHANNEL_PROPERTY_SEND_TIMEOUT = 13,
  WS_CHANNEL_PROPERTY_RECEIVE_RESPONSE_TIMEOUT = 14,
  WS_CHANNEL_PROPERTY_RECEIVE_TIMEOUT = 15,
  WS_CHANNEL_PROPERTY_CLOSE_TIMEOUT = 16,
  WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS = 17,
  WS_CHANNEL_PROPERTY_TRANSFER_MODE = 18,
  WS_CHANNEL_PROPERTY_MULTICAST_INTERFACE = 19,
  WS_CHANNEL_PROPERTY_MULTICAST_HOPS = 20,
  WS_CHANNEL_PROPERTY_REMOTE_ADDRESS = 21,
  WS_CHANNEL_PROPERTY_REMOTE_IP_ADDRESS = 22,
  WS_CHANNEL_PROPERTY_HTTP_CONNECTION_ID = 23,
  WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS = 24,
  WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS = 25,
  WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_INSTANCE = 26,
  WS_CHANNEL_PROPERTY_TRANSPORT_URL = 27,
  WS_CHANNEL_PROPERTY_NO_DELAY = 28,
  WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES = 29,
  WS_CHANNEL_PROPERTY_KEEP_ALIVE_TIME = 30,
  WS_CHANNEL_PROPERTY_KEEP_ALIVE_INTERVAL = 31,
  WS_CHANNEL_PROPERTY_MAX_HTTP_SERVER_CONNECTIONS = 32,
  WS_CHANNEL_PROPERTY_IS_SESSION_SHUT_DOWN = 33,
  WS_CHANNEL_PROPERTY_CHANNEL_TYPE = 34,
  WS_CHANNEL_PROPERTY_TRIM_BUFFERED_MESSAGE_SIZE = 35,
  WS_CHANNEL_PROPERTY_ENCODER = 36,
  WS_CHANNEL_PROPERTY_DECODER = 37,
  WS_CHANNEL_PROPERTY_PROTECTION_LEVEL = 38,
  WS_CHANNEL_PROPERTY_COOKIE_MODE = 39,
  WS_CHANNEL_PROPERTY_HTTP_PROXY_SETTING_MODE = 40,
  WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY = 41,
  WS_CHANNEL_PROPERTY_HTTP_MESSAGE_MAPPING = 42,
  WS_CHANNEL_PROPERTY_ENABLE_HTTP_REDIRECT = 43,
  WS_CHANNEL_PROPERTY_HTTP_REDIRECT_CALLBACK_CONTEXT = 44,
  WS_CHANNEL_PROPERTY_FAULTS_AS_ERRORS = 45,
  WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS = 46,
  WS_CHANNEL_PROPERTY_HTTP_SERVER_SPN = 47,
  WS_CHANNEL_PROPERTY_HTTP_PROXY_SPN = 48,
  WS_CHANNEL_PROPERTY_MAX_HTTP_REQUEST_HEADERS_BUFFER_SIZE = 49
} WS_CHANNEL_PROPERTY_ID;

常量

 
WS_CHANNEL_PROPERTY_MAX_BUFFERED_MESSAGE_SIZE
值: 0
ULONG
WsCreateChannelWsCreateChannelForListener 或一起使用
WsGetChannelProperty for WS_TCP_CHANNEL_BINDING
WS_HTTP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING。 此值限制为
消息可能由通道接收或发送。 该限制指定最大大小
信封以编码线形式显示时,以字节为单位。
最小值为 1。


此属性限制内存量
通道为接收或发送缓冲消息而分配的 。
使用缓冲输入接收时,会将整个消息读入
缓冲区,然后应用程序才有权访问它。 使用缓冲输出发送时,
在发送之前,整个消息会累积到缓冲区中。


仅当缓冲的输入或输出已指定此属性
指定 (WS_STREAMED_INPUT_TRANSFER_MODE
尚未) 设置WS_STREAMED_OUTPUT_TRANSFER_MODE。


默认值为 65536。


WS_UDP_CHANNEL_BINDING始终使用值 65536。
WS_CHANNEL_PROPERTY_MAX_STREAMED_MESSAGE_SIZE
值:1
WsCreateChannel、WsCreateChannelForListener 或 一起使用的未签名__int64
WsGetChannelProperty
WS_HTTP_CHANNEL_BINDING。 此
值是可接收或发送流式处理消息大小的限制
用于通道。
此限制指定信封显示的最大大小(以字节为单位)
采用编码的线路形式。 最小值为 1。


仅当选择了流式处理输入或输出时,才能指定此属性
) 设置 (WS_STREAMED_INPUT_TRANSFER_MODE 或WS_STREAMED_OUTPUT_TRANSFER_MODE。


默认值为 4194304。
WS_CHANNEL_PROPERTY_MAX_STREAMED_START_SIZE
值: 2
WsCreateChannelWsCreateChannelForListener 或 一起使用的 ULONG
WsGetChannelProperty for WS_HTTP_CHANNEL_BINDING
此值是消息开头大小的限制。
邮件的开头由信封标记、标头和正文标记组成。
该限制指定数据显示时的最大大小(以字节为单位)
其编码的线路形式。 最小值为 1。


仅当已选择流式处理输入时,才能指定此属性
(WS_STREAMED_INPUT_TRANSFER_MODE) 。


此属性限制通道将分配的内存量
,以便读取消息的开头。 对于流式处理输入,
在应用程序之前,将整个消息开头读入缓冲区
收到已读取消息开头的通知。


默认值为 16384。
WS_CHANNEL_PROPERTY_MAX_STREAMED_FLUSH_SIZE
值: 3
WsCreateChannelWsCreateChannelForListener 或 一起使用的 ULONG
WsGetChannelProperty for WS_HTTP_CHANNEL_BINDING
此值限制将累积多少个字节
在调用 WsFlushBody 之前。


仅当选择了流输出时,才能指定此属性
(WS_STREAMED_OUTPUT_TRANSFER_MODE) 。


此属性限制通道将分配的内存量
,以便累积缓冲数据。 对于流式处理输出,
通道将在缓冲区中累积数据,直到调用 WsFlushBody


默认值为 65536。
WS_CHANNEL_PROPERTY_ENCODING
值: 4
WS_ENCODING
WsCreateChannelWsCreateChannelForListenerWsGetChannelProperty 一起使用 WS_TCP_CHANNEL_BINDING或 WS_HTTP_CHANNEL_BINDING
此值指定用于通道的编码。


默认值取决于绑定:



WS_UDP_CHANNEL_BINDING始终使用值WS_ENCODING_XML_UTF8
WS_CHANNEL_PROPERTY_ENVELOPE_VERSION
值: 5
WS_ENVELOPE_VERSION
WsCreateChannelWsCreateChannelForListenerWsGetChannelProperty 一起使用。
此值指定要用于通道的信封版本。 The
通道的信封版本必须与用于 的消息的信封版本匹配
通道。


WS_NAMEDPIPE_CHANNEL_BINDING不支持此属性。 命名管道通道始终使用 WS_ENVELOPE_VERSION_SOAP_1_2

默认值取决于绑定:
WS_CHANNEL_PROPERTY_ADDRESSING_VERSION
值: 6
WS_ADDRESSING_VERSION
WsCreateChannelWsCreateChannelForListenerWsGetChannelProperty 一起使用。
此值指定要用于通道的寻址版本。 The
通道的寻址版本必须与使用的消息的版本匹配
通道。


默认值取决于绑定:



仅支持WS_ADDRESSING_VERSION_TRANSPORT
WS_HTTP_CHANNEL_BINDING
WS_CHANNEL_PROPERTY_MAX_SESSION_DICTIONARY_SIZE
值: 7
WsCreateChannelWsCreateChannelForListenerWsGetChannelProperty 一起使用的 ULONG
此属性仅对 WS_TCP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING有效。
此值指定会话字典字节数的配额
使用基于会话的编码时将传输或接收的字符串。


目前支持的唯一基于会话的编码是
WS_ENCODING_XML_BINARY_SESSION_1,这是默认编码
用于 WS_TCP_CHANNEL_BINDING


如果在接收方达到配额,则通道
将出错。


如果在发送端达到配额,则通道将只是
在不使用会话字典的情况下传输字符串。


如果未使用基于会话的编码,则忽略此值。


默认值为 2048。
WS_CHANNEL_PROPERTY_STATE
值: 8
WS_CHANNEL_STATE
WsGetChannelProperty 返回。


返回的值是当前状态的快照,因此为
在调用方之前,状态可能已更改
有机会检查该值。
WS_CHANNEL_PROPERTY_ASYNC_CALLBACK_MODEL
值: 9
WsCreateChannelWsGetChannelProperty 一起使用的WS_CALLBACK_MODEL值。
此值指示发出时的首选异步回调模型
通道的异步操作。


如果使用 WsCreateChannelForListener ,请参阅
WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL


默认值为 WS_LONG_CALLBACK


WS_SERVICE_HOSTWS_SERVICE_PROXY都仅支持WS_LONG_CALLBACK
作为此属性的可接受值。
WS_CHANNEL_PROPERTY_IP_VERSION
值: 10
WS_IP_VERSION
WsCreateChannelWsGetChannelProperty 一起使用 ,用于 WS_TCP_CHANNEL_BINDINGWS_UDP_CHANNEL_BINDING
此属性指定通道应使用的 IP 版本
与远程终结点通信。


若要指定要用于接受的通道的 IP 版本,请使用
WS_LISTENER_PROPERTY_IP_VERSION 侦听器属性
创建侦听器对象。


默认值为 WS_IP_VERSION_AUTO
WS_CHANNEL_PROPERTY_RESOLVE_TIMEOUT
值: 11
WsCreateChannelWsSetChannelProperty 一起使用的 ULONG
WsSetChannelProperty for WS_HTTP_CHANNEL_BINDING and WS_CHANNEL_TYPE_REQUEST
此超时限制解析所花费的时间量
DNS 名称。 超时值以毫秒为单位,
其中,值 INFINITE 指示没有超时。


可以在任何通道状态下设置此属性。


默认值为 INFINITE。
WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT
值: 12
WsCreateChannel 一起使用的 ULONG
WsSetChannelPropertyWsGetChannelProperty
在客户端 上WS_TCP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING
此超时会限制连接到远程计算机并完成 net.tcp 或 net.pipe 握手所花费的时间。 超时值
以毫秒为单位,其中 VALUE INFINITE 指示没有超时。 若要设置
或在服务器端获取相应的超时,请使用
(WS_LISTENER_PROPERTY_CONNECT_TIMEOUT) 。


WsCreateChannel 一起使用,
WsSetChannelPropertyWsGetChannelProperty for WS_HTTP_CHANNEL_BINDINGWS_CHANNEL_TYPE_REQUEST
此超时限制连接所花费的时间
到 HTTP 服务器。 超时值以毫秒为单位,
其中,值 INFINITE 指示没有超时。


可以在任何通道状态下设置此属性。


默认值为 30000(30 秒)。


默认情况下,WS_SERVICE_PROXY将此超时设置为 INFINITE。
WS_CHANNEL_PROPERTY_SEND_TIMEOUT
值: 13
WsCreateChannelWsCreateChannelForListener 一起使用的 ULONG
WsSetChannelPropertyWsGetChannelProperty
用于 WS_TCP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING。 此超时限制
发送消息字节所花费的时间量。
超时值以毫秒为单位,其中 VALUE INFINITE 指示
无超时。


WsCreateChannelWsSetChannelProperty 一起使用
WsGetChannelProperty for WS_HTTP_CHANNEL_BINDING
WS_CHANNEL_TYPE_REQUEST
此超时会限制发送
HTTP 标头和消息的字节数。 超时值以毫秒为单位,其中
VALUE INFINITE 指示没有超时。


可以在任何通道状态下设置此属性。


默认值为 30000(30 秒)。


WS_SERVICE_HOSTWS_SERVICE_PROXY对此进行设置
默认情况下,timeout 为 INFINITE。
WS_CHANNEL_PROPERTY_RECEIVE_RESPONSE_TIMEOUT
值: 14
WsCreateChannelWsSetChannelProperty 一起使用的 ULONG
WsSetChannelProperty for WS_HTTP_CHANNEL_BINDING and WS_CHANNEL_TYPE_REQUEST
此超时会限制等待的时间
要从服务器接收的所有响应标头。
超时值以毫秒为单位,其中 VALUE INFINITE 表示无超时。


可以在任何通道状态下设置此属性。


默认值为 30000(30 秒)。


WS_SERVICE_PROXY将此超时设置为 INFINITE。
WS_CHANNEL_PROPERTY_RECEIVE_TIMEOUT
值: 15
WsCreateChannelWsCreateChannelForListener 一起使用的 ULONG
WsSetChannelPropertyWsGetChannelProperty
用于 WS_TCP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING
此超时限制接收 的时间
消息的字节数。
超时值以毫秒为单位,其中 VALUE INFINITE 指示
无超时。


WsCreateChannelWsSetChannelProperty 一起使用
WsGetChannelPropertyfor WS_HTTP_CHANNEL_BINDINGWS_CHANNEL_TYPE_REQUEST
此超时限制接收 的时间
消息的字节数。 超时值以毫秒为单位,
其中,值 INFINITE 指示没有超时。
此超时可由 WsWriteMessageEndWsReadMessageStartWsReadMessageEnd 触发。

可以在任何通道状态下设置此属性。


默认值为 30000(30 秒)。


WS_SERVICE_HOSTWS_SERVICE_PROXY对此进行设置
默认情况下,timeout 为 INFINITE。
WS_CHANNEL_PROPERTY_CLOSE_TIMEOUT
值: 16
WsCreateChannelWsCreateChannelForListener 一起使用的 ULONG
WsSetChannelPropertyWsGetChannelProperty
用于 WS_TCP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING
此超时会限制完成
关闭 net.tcp 或 net.pipe 握手。 超时值以毫秒为单位,其中
VALUE INFINITE 指示没有超时。


可以在任何通道状态下设置此属性。


默认值为 30000(30 秒)。


默认情况下,WS_SERVICE_PROXY将此超时设置为 INFINITE。
WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS
值: 17
用于 WS_HTTP_CHANNEL_BINDING、WS_TCP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDINGWsCreateChannelBOOL
WS_UDP_CHANNEL_BINDING
WsGetChannelProperty 一起使用 ,用于WS_CUSTOM_CHANNEL_BINDING


如果此属性设置为 TRUE 或在调用 WsCreateChannel 时未提供,
更具体的通道超时属性 (例如 WS_CHANNEL_PROPERTY_SEND_TIMEOUT)
优先,并按记录的行为。 当此属性设置为 FALSE 时,
除非显式指定,否则所有特定的通道超时属性都设置为 INFINITE。


可以使用 WsGetChannelProperty 从自定义通道查询此属性,
有关更多详细信息 ,请参阅WS_GET_CHANNEL_PROPERTY_CALLBACK


默认值为 TRUE。


若要实现自己的超时逻辑, WS_SERVICE_PROXY
WS_SERVICE_HOST将 此属性设置为 FALSE
标准通道绑定,并要求自定义通道通过查询 和 来支持它
验证它是否设置为 FALSE
仍可以如上所述提供更具体的超时属性。
WS_CHANNEL_PROPERTY_TRANSFER_MODE
值: 18
WS_TRANSFER_MODE
WsCreateChannel 一起使用
用于 控制 消息的WS_HTTP_CHANNEL_BINDING
在通道上发送和接收的缓冲或流式传输。 客户
和 服务器可能使用不同的传输模式,但仍能够通信。


为此,所有通道都支持 WsGetChannelProperty
属性中找到的值。


对于 WS_HTTP_CHANNEL_BINDING以外的通道绑定,值始终 WS_BUFFERED_TRANSFER_MODE


默认属性值为 WS_BUFFERED_TRANSFER_MODE。 注意
服务模型仅对两者使用WS_BUFFERED_TRANSFER_MODE
WS_SERVICE_PROXYWS_SERVICE_HOST。 唯一的例外
是在 WS_SERVICE_HOST 上使用消息协定,其中
允许WS_STREAMED_OUTPUT_TRANSFER_MODE



具有 WS_CHANNEL_TYPE_REQUEST的WS_STREAMED_OUTPUT_TRANSFER_MODE 需要 Windows Vista 及更高版本,并且仅在与安全性一起使用时支持 WS_HTTP_HEADER_AUTH_SCHEME_BASIC
WS_CHANNEL_PROPERTY_MULTICAST_INTERFACE
值: 19
WsCreateChannelWsSetChannelProperty 一起使用的 ULONG
WsGetChannelProperty for WS_UDP_CHANNEL_BINDING
使用 WS_CHANNEL_TYPE_DUPLEX 指示哪个适配器
在发送到多播地址时应使用。


该值是适配器的接口索引。


如果未设置此属性,或为 0,则为 的默认适配器
使用计算机。 这可能不适用于具有多个适配器的计算机。


可以在任何通道状态下设置此属性。


默认属性值为 0。
WS_CHANNEL_PROPERTY_MULTICAST_HOPS
值: 20
WsCreateChannelWsGetChannelProperty 一起使用的 ULONG
使用 WS_CHANNEL_TYPE_DUPLEX WS_UDP_CHANNEL_BINDING
指定 UDP 消息可以传输的最大跃点数。


默认属性值为 1。
WS_CHANNEL_PROPERTY_REMOTE_ADDRESS
值: 21
WS_ENDPOINT_ADDRESS结构
WsGetChannelProperty 一起使用
使用 WS_CHANNEL_TYPE_DUPLEX WS_UDP_CHANNEL_BINDING
检索通道的远程方终结点地址。


返回的 字段
WS_ENDPOINT_ADDRESS 结构是有效且恒定的,直到通道
重置或释放。 调用方不应修改返回的值
指向WS_ENDPOINT_ADDRESS的字段。


在通道达到打开状态之前,无法检索此属性。


此属性基于从 接收的源 IP 地址
网络,即使使用 ,也可能被欺骗或篡改
安全通道 (,具体取决于网络环境) 。
WS_CHANNEL_PROPERTY_REMOTE_IP_ADDRESS
值: 22
SOCKADDR_STORAGE结构
WsCreateChannel 一起使用
用于检索 IP 地址的以下通道类型
远程方:



在通道开始读取消息之前,无法检索此属性。


此属性基于从 接收的源 IP 地址
网络,即使使用 ,也可能被欺骗或篡改
安全通道 (,具体取决于网络环境) 。
WS_CHANNEL_PROPERTY_HTTP_CONNECTION_ID
值: 23
指向与 WsGetChannelProperty 一起使用的 ULONGLONG 的指针
使用 WS_CHANNEL_TYPE_REPLY WS_HTTP_CHANNEL_BINDING
检索唯一标识客户端连接的标识符。


在通道开始读取消息之前,无法检索此属性。


连接 ID 唯一标识连接,而
接受通道的侦听器对象将保持打开状态。


给定的回复通道实例与连接无关。
每次接受通道时,都可能存在不同的连接 ID
即使自上次接受) 以来,总连接集没有更改,也 (。


应用程序可以使用连接 ID 将状态与
HTTP 连接。
WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS
值: 24
WsCreateChannel 或 WsCreateChannelForListener 一起使用的WS_CUSTOM_CHANNEL_CALLBACKS结构,用于WS_CUSTOM_CHANNEL_BINDING


此属性用于指定以下回调:
定义自定义通道的实现。


使用 WS_CUSTOM_CHANNEL_BINDING 时必须指定此属性。
WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS
值: 25
指向用于WS_CUSTOM_CHANNEL_BINDING的 WsCreateChannelWsCreateChannelForListener 使用的任意大小数据类型的指针。


此属性用于指定用于创建自定义的参数
通道实现。


属性的大小是数据类型的大小。


此属性的值将传递给
WS_CREATE_CHANNEL_CALLBACK


如果未指定此属性,则其值为 NULL ,size 为零。
WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_INSTANCE
值: 26
用于WS_CUSTOM_CHANNEL_BINDING的 WsGetChannelPropertyvoid


属性的大小为 (void
) 的大小。
该值对应于返回的通道实例值
WS_CREATE_CHANNEL_CALLBACK


此属性可用于获取基础通道
自定义通道的实例。 这允许调用方直接
在现有的情况下,与 实例交互
通道属性或通道函数集不足。
WS_CHANNEL_PROPERTY_TRANSPORT_URL
值: 27
WS_STRING结构
WsGetChannelProperty 一起使用
对于使用WsCreateChannelForListener 创建的通道WS_HTTP_CHANNEL_BINDING或WS_TCP_CHANNEL_BINDING


此属性在服务器上用于获取传递的 URL
到客户端上的 WsOpenChannel
此 URL 可能与WS_TO_HEADER中的值不同
如果使用 WsAddressMessage ,则为 。 的映射
基础传输的传输 URL 因
WS_CHANNEL_BINDING,如下所示:



此属性仅在通道具有
已使用 WsAcceptChannel 接受。


当以下情况下,调用方应传递 WS_STRING 的地址
检索此属性。 返回的字符串是完全限定的
编码格式的 URL。 返回的字符串正常,直到通道
已释放或重置。
WS_CHANNEL_PROPERTY_NO_DELAY
值: 28
WsCreateChannelWsCreateChannelForListenerWsGetChannelPropertyWsSetChannelProperty 一起使用的 BOOL,用于 WS_TCP_CHANNEL_BINDING


此属性控制基础套接字的TCP_NODELAY套接字选项值。


如果此值为 FALSE,则使用 Nagle 算法,它可以
通过合并小消息来提高吞吐量。


将此值设置为 TRUE 可能会降低延迟,但代价是吞吐量
小消息。


默认值为 FALSE
WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES
值: 29
用于 WsCreateChannelBOOLWsCreateChannelForListener for WS_TCP_CHANNEL_BINDING


此属性控制基础套接字SO_KEEPALIVE套接字选项值。


将此值设置为 TRUE 将导致发送保持连接数据包
在基础套接字上,这可能有助于检测何时
远程方不再可用。


默认值为 FALSE
WS_CHANNEL_PROPERTY_KEEP_ALIVE_TIME
值: 30
WsCreateChannelWsCreateChannelForListener 一起使用的 ULONG,用于WS_TCP_CHANNEL_BINDING


此属性以毫秒为单位。


仅当 WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES 属性的值为 TRUE 时,才能指定此属性。


值表示发送保持活动数据包之前(如果 为 )
套接字未使用。


默认值为 2 小时。
WS_CHANNEL_PROPERTY_KEEP_ALIVE_INTERVAL
值: 31
WsCreateChannelWsCreateChannelForListener 一起使用的 ULONG,用于WS_TCP_CHANNEL_BINDING


此属性以毫秒为单位。


仅当 WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES 属性的值为 TRUE 时,才能指定此属性。


在 WS_CHANNEL_PROPERTY_KEEP_ALIVE_TIME 中指定的时间过期后,
系统将开始发送保持活动状态的数据包以尝试联系
远程方。 此设置控制系统发送的频率
另一个数据包 (为重试尝试) 。


默认值为 1 秒钟。
WS_CHANNEL_PROPERTY_MAX_HTTP_SERVER_CONNECTIONS
值: 32
WsCreateChannel 一起使用的 ULONG,用于WS_HTTP_CHANNEL_BINDING


此属性指定客户端应用程序的最大连接数
可能具有针对 HTTP 服务器的 。
同一进程中访问同一 HTTP 服务器的其他组件可以缓存和重新使用连接。


默认值为 INFINITE (无限制) 。
WS_CHANNEL_PROPERTY_IS_SESSION_SHUT_DOWN
值: 33
用于 WsGetChannelPropertyBOOLWS_TCP_CHANNEL_BINDING
或使用 WS_CHANNEL_TYPE_DUPLEX_SESSION 进行 WS_NAMEDPIPE_CHANNEL_BINDING


此属性指示
WsShutdownSessionChannel 是否已
用于关闭通道。


通道必须 位于 WS_CHANNEL_STATE_OPEN
WS_CHANNEL_STATE_FAULTED 状态。
WS_CHANNEL_PROPERTY_CHANNEL_TYPE
值: 34
WS_CHANNEL_TYPE
WsGetChannelProperty 一起使用,适用于所有通道类型
查询通道的类型。


通道可以位于任何 WS_CHANNEL_STATE中。
WS_CHANNEL_PROPERTY_TRIM_BUFFERED_MESSAGE_SIZE
值: 35
WsCreateChannelWsCreateChannelForListener 或 一起使用的 ULONG
WsGetChannelProperty for WS_TCP_CHANNEL_BINDING
控制内存分配的WS_HTTP_CHANNEL_BINDING或WS_NAMEDPIPE_CHANNEL_BINDING
通道上消息的特征。


此属性指定通道将保留的最大内存量
重置消息后, 周围。 如果所有
通道看到的消息都小于此大小,然后分配
为了缓冲消息,将最小化。


仅当缓冲的输入或输出已指定此属性
指定 (WS_STREAMED_INPUT_TRANSFER_MODE
尚未) 设置WS_STREAMED_OUTPUT_TRANSFER_MODE。


默认值为 65536。


WS_UDP_CHANNEL_BINDING始终使用值 65536。
WS_CHANNEL_PROPERTY_ENCODER
值: 36
WsCreateChannelWsCreateChannelForListener 一起使用的 WS_CHANNEL_ENCODER 结构,适用于 WS_TCP_CHANNEL_BINDING
WS_HTTP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING 来提供消息的自定义编码。

此属性不能与 WS_UDP_CHANNEL_BINDING一起使用。
WS_CHANNEL_PROPERTY_DECODER
值: 37
WsCreateChannelWsCreateChannelForListener 一起使用的 WS_CHANNEL_DECODER 结构,适用于 WS_TCP_CHANNEL_BINDING
WS_HTTP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING 来提供消息的自定义 dencoding。

此属性不能与 WS_UDP_CHANNEL_BINDING一起使用。
WS_CHANNEL_PROPERTY_PROTECTION_LEVEL
值: 38
WsGetChannelProperty 一起使用的任何通道类型的WS_PROTECTION_LEVEL值。


此属性指示
通道提供的安全保证。


此属性的值取决于安全要求
已为通道请求。
WS_CHANNEL_PROPERTY_COOKIE_MODE
值: 39
WsCreateChannel 一起使用的WS_COOKIE_MODE,WS_HTTP_CHANNEL_BINDING用于控制 HTTP Cookie 的处理方式。


默认值为 WS_AUTO_COOKIE_MODE
WS_CHANNEL_PROPERTY_HTTP_PROXY_SETTING_MODE
值: 40
WsCreateChannel 一起使用的WS_HTTP_PROXY_SETTING_MODE,WS_HTTP_CHANNEL_BINDING用于控制通道的 HTTP 代理设置。


默认值为 WS_HTTP_PROXY_SETTING_MODE_AUTO
WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY
值: 41
WsCreateChannel 一起使用的WS_CUSTOM_HTTP_PROXY结构,WS_HTTP_CHANNEL_BINDING指定 HTTP 通道的自定义设置。 此属性必须
WS_CHANNEL_PROPERTY_HTTP_PROXY_SETTING_MODE 设置为 时指定
WS_HTTP_PROXY_SETTING_MODE_CUSTOM


默认值为 NULL。
WS_CHANNEL_PROPERTY_HTTP_MESSAGE_MAPPING
值: 42
WsCreateChannelWsCreateChannelForListener 一起使用的WS_HTTP_MESSAGE_MAPPING结构,用于 WS_HTTP_CHANNEL_BINDING


此属性值控制如何将 HTTP 请求或响应映射到
消息对象。 有关详细信息 ,请参阅WS_HTTP_MESSAGE_MAPPING


此属性的默认值为 WS_HTTP_MESSAGE_MAPPING 结构如下所示:



  • requestMappingOptions: 0

  • requestHeaderMappings: none

  • responseMappingOptions: 0

  • responseHeaderMappings: none



WS_HTTP_MESSAGE_MAPPING 字段 requestMappingOptions 和 responseMappingOptions 必须为 0
除非使用通道属性 WS_CHANNEL_PROPERTY_ENCODING 将编码设置为 WS_ENCODING_RAW
WS_CHANNEL_PROPERTY_ENABLE_HTTP_REDIRECT
值: 43
用于 WsCreateChannelBOOL,用于WS_CHANNEL_TYPE_REQUESTWS_HTTP_CHANNEL_BINDING。


此属性值控制是否启用 HTTP 自动重定向。


将此值设置为 TRUE 可启用 HTTP 自动重定向。


默认值为 FALSE
如果指定 了 WS_CHANNEL_PROPERTY_HTTP_REDIRECT_CALLBACK_CONTEXT 属性,
忽略此属性。
WS_CHANNEL_PROPERTY_HTTP_REDIRECT_CALLBACK_CONTEXT
值: 44
WS_HTTP_REDIRECT_CALLBACK_CONTEXT 结构
WsCreateChannel 一起使用,用于WS_CHANNEL_TYPE_REQUESTWS_HTTP_CHANNEL_BINDING。


当需要更精细地控制自动 HTTP 重定向时,可以指定此属性值。


设置此属性后,将使用原始终结点 URL 调用指定的回调例程
以及消息要转发到的新 URL。 回调返回值用于指示是否
应允许重定向。
WS_CHANNEL_PROPERTY_FAULTS_AS_ERRORS
值: 45
WsCreateChannelWsSetChannelProperty 一起使用的 BOOL
WsGetChannelPropertyWsCreateServiceProxy for WS_HTTP_CHANNEL_BINDINGWS_CHANNEL_TYPE_REQUEST,或 客户端上的WS_TCP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDINGWS_UDP_CHANNEL_BINDING


如果设置为 TRUE,则通道和服务模型函数在收到错误时返回错误代码。
如果此运行时识别出错误,则返回相应的错误代码,
否则返回 WS_E_ENDPOINT_FAULT_RECEIVED 。 (请参阅 Windows Web Services 返回值。) 设置为 FALSE 时, WsReceiveMessage
WsRequestReply 在收到错误时返回 WS_E_ENDPOINT_FAULT_RECEIVED
其他通道函数将错误作为常规消息返回,并WS_MESSAGE_PROPERTY_IS_FAULT
可用于区分错误与其他消息。


当此属性设置为 TRUE 并与 WsCreateChannelWsSetChannelProperty 一起使用时,
它会替代 WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS的以下行为:如果 错误被 识别到
运行时,不安全的故障不会导致错误消息的安全验证失败,即使
WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS 设置为 FALSE。 安全验证的状态
可以通过检查 WS_MESSAGE_PROPERTY_PROTECTION_LEVEL来确定。
这不适用于 WS_UDP_CHANNEL_BINDING ,因为它不支持安全性。


当此属性设置为 FALSE 或与 WsCreateServiceProxy 一起使用或无法识别错误时
在运行时, WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS 中描述的行为在没有
异常。


无论此属性值如何,如果由于收到错误而返回错误代码,
WsGetFaultErrorProperty 可用于从错误对象查询错误的详细信息。


可以在任何通道状态下设置此属性。


默认值为 TRUE。 如果与 WsCreateServiceProxy 一起使用,则此属性必须设置为 TRUE




将此属性设置为 TRUE 可能会导致对某些错误禁用消息安全验证。
未经验证的错误可能不可信。
WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS
值: 46
WsCreateChannelWsSetChannelProperty 一起使用的 BOOL
WsGetChannelProperty for WS_HTTP_CHANNEL_BINDINGWS_CHANNEL_TYPE_REQUEST,或在客户端上 WS_TCP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING


设置为 TRUE 时,在安全通道上收到的不安全错误不会导致消息安全验证失败。 而是
错误将被视为消息安全验证成功,并按 WS_CHANNEL_PROPERTY_FAULTS_AS_ERRORS中所述进行处理。
可以通过检查 WS_MESSAGE_PROPERTY_PROTECTION_LEVEL来确定安全验证的状态。


设置为 FALSE 时,将像验证任何其他消息一样处理错误消息的消息安全验证。


对于 此运行时识别的错误,WS_CHANNEL_PROPERTY_FAULTS_AS_ERRORS可能会重写此属性。


此属性仅适用于消息级安全验证,对传输安全性没有影响。


可以在任何通道状态下设置此属性。


默认值为 FALSE


将此属性设置为 TRUE 会导致禁用错误的消息安全验证。 不安全的错误可能不可信。
WS_CHANNEL_PROPERTY_HTTP_SERVER_SPN
值: 47
WCHAR 指针
WsGetChannelProperty 一起使用 ,用于 WS_HTTP_CHANNEL_BINDINGWS_CHANNEL_TYPE_REQUEST



返回用于上次失败请求的远程终结点的服务器主体名称。 不保证此属性为
这些 LIP。 以下是必要的 (但并非始终足以满足此属性存在的) 条件:

  • 通道发送了请求。

  • 由于 HTTP 标头身份验证方案不匹配,请求失败。 请参阅 WS_HTTP_HEADER_AUTH_SECURITY_BINDING

  • 远程终结点支持“Nego2”身份验证方案。




此属性仅适用于 Windows 7 及更高版本。
WS_CHANNEL_PROPERTY_HTTP_PROXY_SPN
值: 48
WsGetChannelProperty 一起使用的 WCHAR 指针,用于WS_HTTP_CHANNEL_BINDINGWS_CHANNEL_TYPE_REQUEST



返回用于上次失败请求的 HTTP 代理服务器的服务器主体名称。 不保证此属性为
这些 LIP。 以下是必要的 (但并非始终足以满足此属性存在的) 条件:

  • 通道发送了请求。

  • 由于 HTTP 标头身份验证方案不匹配,请求失败。 请参阅 WS_HTTP_HEADER_AUTH_SECURITY_BINDING

  • HTTP 代理服务器支持“Nego2”身份验证方案。




此属性仅适用于 Windows 7 及更高版本。
WS_CHANNEL_PROPERTY_MAX_HTTP_REQUEST_HEADERS_BUFFER_SIZE
值: 49
WsCreateChannelForListener 一起使用的 ULONG
WsGetChannelProperty for WS_HTTP_CHANNEL_BINDING
WS_CHANNEL_TYPE_REPLY。 此值是标头大小的限制
接收的 HTTP 请求的 可以是 。 该限制指定最大大小
HTTP 请求标头的 ,以字节为单位。


此属性限制内存量
与 WS_CHANNEL_TYPE_REPLYWS_HTTP_CHANNEL_BINDING
将分配以接收 HTTP 请求标头。 接收时,整个 HTTP 请求
标头在处理之前被读入缓冲区。


默认值为 65536。

要求

   
最低受支持的客户端 Windows 7 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
标头 webservices.h