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
适用于 WS_TCP_CHANNEL_BINDINGWsGetChannelProperty
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
WsCreateChannelWsCreateChannelForListener__int64
WsGetChannelProperty
WS_HTTP_CHANNEL_BINDING。 This
值是流式传输消息的接收或发送大小的限制
用于通道。
该限制指定信封的最大大小(以字节为单位),
其编码的电线形式。 最小值为 1。


仅当已选择流式传输的输入或输出时,才能指定此属性
已设置 (WS_STREAMED_INPUT_TRANSFER_MODEWS_STREAMED_OUTPUT_TRANSFER_MODE)


默认值为4194304。
WS_CHANNEL_PROPERTY_MAX_STREAMED_START_SIZE
值: 2
WsCreateChannelWsCreateChannelForListener
适用于 WS_HTTP_CHANNEL_BINDINGWsGetChannelProperty
此值是消息开始大小的限制。
邮件的开头由信封标记、标头和正文标记组成。
该限制指定数据的最大大小(以字节为单位),因为它出现在
其编码的电线形式。 最小值为 1。


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


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


默认值为 16384。
WS_CHANNEL_PROPERTY_MAX_STREAMED_FLUSH_SIZE
值: 3
WsCreateChannelWsCreateChannelForListener
适用于 WS_HTTP_CHANNEL_BINDINGWsGetChannelProperty
此值是累积字节数的限制
调用 WsFlushBody 之前


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


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


默认值为 65536。
WS_CHANNEL_PROPERTY_ENCODING
值: 4
WS_ENCODING
用于 WsCreateChannelWsCreateChannelForListenerWsGetChannelProperty for WS_TCP_CHANNEL_BINDINGWS_HTTP_CHANNEL_BINDING
此值指定要用于通道的编码。


默认值取决于绑定:



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


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

默认值取决于绑定:
WS_CHANNEL_PROPERTY_ADDRESSING_VERSION
值: 6
WS_ADDRESSING_VERSION
与 WsCreateChannel、WsCreateChannelForListenerWsGetChannelProperty 一起使用。
此值指定要用于通道的寻址版本。 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_BINDINGWS_CHANNEL_TYPE_REQUEST
此超时限制将用于解析的时间量
DNS 名称。 超时值以毫秒为单位,
其中,VALUE 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 服务器。 超时值以毫秒为单位,
其中,VALUE 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都设置此项
默认情况下,超时为 INFINITE。
WS_CHANNEL_PROPERTY_RECEIVE_RESPONSE_TIMEOUT
值: 14
WsCreateChannelWsSetChannelProperty 一起使用的 ULONG
WsSetChannelProperty for WS_HTTP_CHANNEL_BINDINGWS_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 一起使用,
WsGetChannelProperty for WS_HTTP_CHANNEL_BINDINGWS_CHANNEL_TYPE_REQUEST
此超时限制接收所花费的时间
消息的字节数。 超时值以毫秒为单位,
其中,VALUE INFINITE 表示没有超时。
WsWriteMessageEndWsReadMessageStartWsReadMessageEnd 可以触发此超时。

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


默认值为 30000(30 秒)。


WS_SERVICE_HOSTWS_SERVICE_PROXY都设置此项
默认情况下,超时为 INFINITE。
WS_CHANNEL_PROPERTY_CLOSE_TIMEOUT
值: 16
WsCreateChannelWsCreateChannelForListener 一起使用的 ULONG
WsSetChannelPropertyWsGetChannelProperty
用于 WS_TCP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING
此超时会限制完成该超时所花费的时间
close net.tcp 或 net.pipe 握手。 超时值以毫秒为单位,其中
value INFINITE 表示无超时。


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


默认值为 30000(30 秒)。


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


在调用 WsCreateChannel 时,此属性设置为 TRUE 或未提供时,
更具体的通道超时属性 (,例如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 以指示哪个适配器
发送到多播地址时应使用。


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


If this property is not set, or is 0, then the default adapter for the
使用计算机。 这可能不适用于具有多个适配器的计算机。


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


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


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


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


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


此属性基于从中接收的源 IP 地址
网络,即使使用 a
安全通道 (取决于网络环境) 。
WS_CHANNEL_PROPERTY_REMOTE_IP_ADDRESS
值: 22
SOCKADDR_STORAGE结构
WsCreateChannel 一起使用
用于检索 IP 地址的以下通道类型
远程方:



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


此属性基于从中接收的源 IP 地址
网络,即使使用 a
安全通道 (取决于网络环境) 。
WS_CHANNEL_PROPERTY_HTTP_CONNECTION_ID
值: 23
指向与 WsGetChannelProperty 一起使用的 ULONGLONG 的指针
for WS_HTTP_CHANNEL_BINDING with WS_CHANNEL_TYPE_REPLY
检索唯一标识客户端连接的标识符。


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


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


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


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


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


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


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


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


此属性的值将传递给
WS_CREATE_CHANNEL_CALLBACK


如果未指定此属性,则其值为 NULL ,大小为零。
WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_INSTANCE
值: 26
WsGetChannelProperty 一起使用的 void for WS_CUSTOM_CHANNEL_BINDING


属性的大小为 void) (
sizeof 。
The value corresponds to the channel instance value returned by
WS_CREATE_CHANNEL_CALLBACK


此属性可用于获取基础通道
自定义通道的实例。 这允许调用方直接
针对现有情况与实例交互
通道属性或通道函数集不足。
WS_CHANNEL_PROPERTY_TRANSPORT_URL
值: 27
WS_STRING结构
WsGetChannelProperty 一起使用
用于使用 WsCreateChannelForListener 创建的通道的WS_HTTP_CHANNEL_BINDINGWS_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 for WS_TCP_CHANNEL_BINDINGBOOL


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


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


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


默认值为 FALSE
WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES
值: 29
WsCreateChannelWsCreateChannelForListener 一起使用的 BOOL,用于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
用于 WsGetChannelProperty for WS_TCP_CHANNEL_BINDINGBOOL
具有WS_CHANNEL_TYPE_DUPLEX_SESSIONWS_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
wsGetChannelProperty for WS_TCP_CHANNEL_BINDING
WS_HTTP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING 来控制内存分配
通道上消息的特征。


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


仅当缓冲输入或输出已被缓冲时,才能指定此属性
指定 (WS_STREAMED_INPUT_TRANSFER_MODE
尚未设置) WS_STREAMED_OUTPUT_TRANSFER_MODE


默认值为 65536。


WS_UDP_CHANNEL_BINDING始终使用值 65536。
WS_CHANNEL_PROPERTY_ENCODER
值: 36
WsCreateChannel 或 WsCreateChannelForListener 一起使用的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
一个 WS_HTTP_PROXY_SETTING_MODE 值,用于 WsCreateChannelWS_HTTP_CHANNEL_BINDING 来控制通道的 HTTP 代理设置。


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


默认值为 NULL。
WS_CHANNEL_PROPERTY_HTTP_MESSAGE_MAPPING
值: 42
用于WsCreateChannel 或 WsCreateChannelForListener WS_HTTP_CHANNEL_BINDING 的WS_HTTP_MESSAGE_MAPPING结构。


此属性值控制 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
WsCreateChannel 一起使用的 BOOL,用于具有WS_CHANNEL_TYPE_REQUEST的WS_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_REQUEST的WS_HTTP_CHANNEL_BINDING


如果需要更精细的控制自动 HTTP 重定向,可以指定此属性值。


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


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


当此属性设置为 TRUE 并用于 WsCreateChannelWsSetChannelProperty 时,
it overrides the following behavior of WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS: if the fault is recognized by the
运行时,不安全的错误不会使错误消息的安全验证失败,即使
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
适用于 WS_HTTP_CHANNEL_BINDINGWsGetChannelProperty
具有 WS_CHANNEL_TYPE_REPLY。 此值是标头大小的限制
接收的 HTTP 请求的可以是。 限制指定最大大小
的 HTTP 请求标头(以字节为单位)。


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


默认值为 65536。

要求

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