WS_LISTENER_PROPERTY_ID 枚举 (webservices.h)

每个侦听器属性的类型为 WS_LISTENER_PROPERTY,由 ID 标识,并且具有关联的值。 如果在创建侦听器时未指定属性,则使用其默认值。

语法

typedef enum {
  WS_LISTENER_PROPERTY_LISTEN_BACKLOG = 0,
  WS_LISTENER_PROPERTY_IP_VERSION = 1,
  WS_LISTENER_PROPERTY_STATE = 2,
  WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL = 3,
  WS_LISTENER_PROPERTY_CHANNEL_TYPE = 4,
  WS_LISTENER_PROPERTY_CHANNEL_BINDING = 5,
  WS_LISTENER_PROPERTY_CONNECT_TIMEOUT = 6,
  WS_LISTENER_PROPERTY_IS_MULTICAST = 7,
  WS_LISTENER_PROPERTY_MULTICAST_INTERFACES = 8,
  WS_LISTENER_PROPERTY_MULTICAST_LOOPBACK = 9,
  WS_LISTENER_PROPERTY_CLOSE_TIMEOUT = 10,
  WS_LISTENER_PROPERTY_TO_HEADER_MATCHING_OPTIONS = 11,
  WS_LISTENER_PROPERTY_TRANSPORT_URL_MATCHING_OPTIONS = 12,
  WS_LISTENER_PROPERTY_CUSTOM_LISTENER_CALLBACKS = 13,
  WS_LISTENER_PROPERTY_CUSTOM_LISTENER_PARAMETERS = 14,
  WS_LISTENER_PROPERTY_CUSTOM_LISTENER_INSTANCE = 15,
  WS_LISTENER_PROPERTY_DISALLOWED_USER_AGENT = 16
} WS_LISTENER_PROPERTY_ID;

常量

 
WS_LISTENER_PROPERTY_LISTEN_BACKLOG
值: 0
WsCreateListenerWsGetListenerProperty 一起使用 ,用于WS_TCP_CHANNEL_BINDING


WS_LISTENER_PROPERTY 结构的附带成员是 ULONG

这将控制挂起连接队列的最大长度。 如果设置为
SOMAXCONN,积压工作将设置为最大合理值。
WS_LISTENER_PROPERTY_IP_VERSION
值:1
WsCreateListenerWsGetListenerProperty 一起使用 ,用于WS_TCP_CHANNEL_BINDINGWS_UDP_CHANNEL_BINDING


WS_LISTENER_PROPERTY 结构的随附成员是一个WS_IP_VERSION值。

此属性指定侦听器应使用的 IP 版本。


默认值为 WS_IP_VERSION_AUTO
WS_LISTENER_PROPERTY_STATE
值: 2
WsGetListenerProperty 一起使用,适用于所有通道类型。



WS_LISTENER_PROPERTY 结构附带的值成员是WS_LISTENER_STATE值。

返回侦听器的当前 WS_LISTENER_STATE 。 返回的值是当前状态的快照,因此为
在调用方之前,状态可能已更改
有机会检查该值。
WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL
值: 3
WsCreateListenerWsGetListenerProperty 一起使用,适用于所有通道类型。


WS_LISTENER_PROPERTY 结构附带的值成员是WS_CALLBACK_MODEL值。

此值指示发出时的首选异步回调模型
为侦听器或为其创建的通道执行异步操作
using WsCreateChannelForListener


默认值为 WS_LONG_CALLBACK


WS_SERVICE_HOST仅支持WS_LONG_CALLBACK作为可接受的值
此属性的 。
WS_LISTENER_PROPERTY_CHANNEL_TYPE
值: 4
WsGetListenerProperty 一起使用,适用于所有通道类型。

WS_LISTENER_PROPERTY 结构的附带成员是一个WS_CHANNEL_TYPE值。

此属性
指定正在使用的通道的消息交换模式。
WS_LISTENER_PROPERTY_CHANNEL_BINDING
值: 5
WsGetListenerProperty 一起使用,适用于所有通道类型。

WS_LISTENER_PROPERTY 结构的附带成员是一个WS_CHANNEL_BINDING值。

此属性
指定正在使用的通道的绑定。
WS_LISTENER_PROPERTY_CONNECT_TIMEOUT
值: 6
WsCreateListenerWsGetListenerProperty 一起使用 ,用于WS_TCP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING

WS_LISTENER_PROPERTY 结构的附带成员是 ULONG

接受操作将等待
接受基础 TCP 套接字或命名管道的无限时间。 此
timeout 对应于专用于 net.tcp 或 net.pipe 握手的时间量
在客户端连接后,在客户端和服务之间发生。
超时值以毫秒为单位,其中 VALUE INFINITE 指示
无超时。 使用
WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT 设置相应的
客户端上的 值。


默认值为 15000 (15 秒) 。
WS_LISTENER_PROPERTY_IS_MULTICAST
值: 7
WsCreateListenerWsGetListenerProperty 一起使用 ,用于WS_UDP_CHANNEL_BINDINGWS_CHANNEL_TYPE_DUPLEX ,以指示侦听器正在侦听多播地址。


WS_LISTENER_PROPERTY 结构的附带成员是 BOOL

请注意,在侦听时,设置此属性是不够的
多播地址。 还必须指定接口集
使用 WS_LISTENER_PROPERTY_MULTICAST_INTERFACES 属性。


通道不会验证地址是否为
多播地址,但它设置套接字的重用
这样另一个进程也可以打开同一端口。


默认值为 FALSE
WS_LISTENER_PROPERTY_MULTICAST_INTERFACES
值: 8
WsCreateListenerWsSetListenerProperty 一起使用,用于WS_CHANNEL_TYPE_DUPLEX WS_UDP_CHANNEL_BINDING


WS_LISTENER_PROPERTY 结构的附带成员是 ULONG 值的数组。

属性的大小
大小为 (ULONG) 乘以值数。 每个值表示
适配器的接口索引。 适配器的索引可以是
使用 GetAdaptersAddresses 函数获取。


WS_LISTENER_PROPERTY_IS_MULTICAST的此值
属性必须为 TRUE 才能使用此属性。


默认值为空列表, (没有接口) 。
WS_LISTENER_PROPERTY_MULTICAST_LOOPBACK
值: 9
WsCreateListener 一起使用 ,用于WS_UDP_CHANNEL_BINDING
WS_CHANNEL_TYPE_DUPLEX


WS_LISTENER_PROPERTY 结构的附带成员是 BOOL

这指示消息是否
此通道接收在环回接口上发送的 。 如果 为 TRUE
则 (接收消息,否则通道) 将看不到它们。


WS_LISTENER_PROPERTY_IS_MULTICAST的此值
属性必须为 TRUE 才能使用此属性。


默认值为 TRUE。
WS_LISTENER_PROPERTY_CLOSE_TIMEOUT
值: 10
WsCreateListenerWsGetListenerProperty 一起使用,用于WS_CHANNEL_TYPE_REPLY WS_HTTP_CHANNEL_BINDING


WS_LISTENER_PROPERTY 结构的附带成员是 ULONG

这表示到的毫秒数
等待客户端在调用 WsCloseListener 时从响应接收数据。


此超时的目的是允许客户端有时间继续接收
HTTP 服务器断开连接前服务器发送的 HTTP 响应中的数据
客户端连接。


使用的超时值的计算方式如下:



  • 调用 WsCloseListener 时,确定
    发送最后一个响应的时间 () 的最后一个响应时间。 用于
    此超时计算,一旦为响应调用 WsWriteMessageEnd ,响应将记录为发送。

  • 计算当前时间和上次响应时间之间的差值。

  • 如果差大于超时值,则为实际值
    使用的超时为零。

  • 如果差值小于或等于超时值,则
    使用的实际超时值是超时值减去差值。


默认超时值为 5000 (5 秒) 。
WS_LISTENER_PROPERTY_TO_HEADER_MATCHING_OPTIONS
值: 11
WsCreateListener 一起使用 ,用于 WS_TCP_CHANNEL_BINDING
WS_HTTP_CHANNEL_BINDINGWS_UDP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING


WS_LISTENER_PROPERTY 结构附带的值成员是 ULONG

属性值包含一组标志, (查看 WS_URL_MATCHING_OPTIONS)
指定如何匹配任何已接收消息WS_TO_HEADER中的 URL。


默认值为:



syntax<br><br>WS_MATCH_URL_THIS_HOST |<br>WS_MATCH_URL_EXACT_PATH |<br>WS_MATCH_URL_PORT |<br>WS_MATCH_URL_NO_QUERY<br><br>
WS_LISTENER_PROPERTY_TRANSPORT_URL_MATCHING_OPTIONS
值: 12
WsCreateListener 一起使用 ,用于 WS_TCP_CHANNEL_BINDING
WS_HTTP_CHANNEL_BINDING


WS_LISTENER_PROPERTY 结构附带的值成员是 ULONG

属性值包含一组标志, (查看 WS_URL_MATCHING_OPTIONS)
指定如何匹配任何接受通道的传输 URL。 请参阅
有关 传输 URL 的详细信息,WS_CHANNEL_PROPERTY_TRANSPORT_URL。


默认值为:



syntax<br><br>WS_MATCH_URL_THIS_HOST |<br>WS_MATCH_URL_EXACT_PATH |<br>WS_MATCH_URL_PORT |<br>WS_MATCH_URL_NO_QUERY<br><br>

此属性仅在收到消息后控制邮件的验证
由进程,而不是将消息路由到进程 (确定
传递给 WsOpenListener) 的 URL。
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_CALLBACKS
值: 13
WsCreateListener 一起使用 ,用于WS_CUSTOM_CHANNEL_BINDING


WS_LISTENER_PROPERTY 结构附带的值成员是WS_CUSTOM_LISTENER_CALLBACKS结构。

此属性用于指定回调
定义自定义侦听器的实现。


使用 WS_CUSTOM_CHANNEL_BINDING 时,必须指定此属性。
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_PARAMETERS
值: 14
WsCreateListener 一起使用 ,用于WS_CUSTOM_CHANNEL_BINDING


WS_LISTENER_PROPERTY 结构随附的值成员是指向任意大小数据类型的指针。
属性的大小是数据类型的大小。


此属性用于指定用于创建自定义的参数
侦听器实现。


此属性的值将传递给
WS_CREATE_LISTENER_CALLBACK


如果未指定此属性,则其值为 NULL ,大小为零。
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_INSTANCE
值: 15
WsGetChannelProperty 一起使用 ,用于WS_CUSTOM_CHANNEL_BINDING


WS_LISTENER_PROPERTY 结构附带的值成员是 void* ,属性的大小为 size of (void*) 。


对应于由 返回的 listenerInstance 值
WS_CREATE_LISTENER_CALLBACK


此属性可用于获取基础侦听器
自定义侦听器的 实例。 这允许调用方直接
在现有 的情况下与 实例交互
侦听器属性或侦听器函数集不足。
WS_LISTENER_PROPERTY_DISALLOWED_USER_AGENT
值: 16
WsCreateListener 一起使用 ,用于WS_HTTP_CHANNEL_BINDING


WS_LISTENER_PROPERTY 结构的随附成员是指向指定不允许用户列表的WS_DISALLOWED_USER_AGENT_SUBSTRINGS的指针
代理子字符串。

  • 收到 HTTP 请求后,将提取 UserAgent 标头值。

  • 列表中的每个子字符串在提取的 UserAgent 字符串值中搜索。

  • 如果找到子字符串,请求将被拒绝。




默认情况下,列表包含以下条目

  • Web 浏览器 () :Mozilla




此属性不适用于使用 WS_ENCODING_RAW 编码配置的侦听器。

要求

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