WS_LISTENER_PROPERTY_ID列舉 (webservices.h)

每個接聽程式屬性的類型 為 WS_LISTENER_PROPERTY、由識別碼識別,且具有相關聯的值。 如果未在建立接聽程式時指定屬性,則會使用其預設值。

Syntax

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值。

這個值表示發出時慣用的非同步回呼模型
為其建立之接聽程式或通道的非同步作業
使用 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 交握專用的時間量
一旦用戶端連線,就會在用戶端和服務之間發生。
逾時值以毫秒為單位,其中 INFINITE 值表示
沒有逾時。 使用
WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT 設定對應的
用戶端上的 值。


預設值為 15000 (15 秒) 。
WS_LISTENER_PROPERTY_IS_MULTICAST
值: 7
WsCreateListenerWsGetListenerProperty搭配WS_UDP_CHANNEL_BINDING使用,以WS_CHANNEL_TYPE_DUPLEX表示接聽程式正在多播位址上接聽。


WS_LISTENER_PROPERTY結構的隨附成員是BOOL

請注意,在接聽時,設定此屬性並不夠
多播位址。 也必須指定介面集
使用 WS_LISTENER_PROPERTY_MULTICAST_INTERFACES 屬性。


通道不會驗證位址實際上是
多播位址,但會設定重複使用通訊端
如此一來,另一個進程也可以開啟相同的埠。


預設值為 FALSE
WS_LISTENER_PROPERTY_MULTICAST_INTERFACES
值: 8
WsCreateListenerWsSetListenerProperty 搭配 WS_UDP_CHANNEL_BINDING 搭配 WS_CHANNEL_TYPE_DUPLEX使用。


WS_LISTENER_PROPERTY結構的隨附成員是ULONG值的陣列。

屬性的大小
為 sizeof (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_HTTP_CHANNEL_BINDINGWS_CHANNEL_TYPE_REPLY搭配使用。


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* ,而屬性的大小為 sizeof (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 字串值中搜尋。

  • 如果找到子字串,則會拒絕要求。




清單預設包含下列專案

  • 網頁瀏覽器 (s) :Mozilla




此屬性不適用於 以WS_ENCODING_RAW 編碼方式設定的接聽程式。

規格需求

   
最低支援的用戶端 Windows 7 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式]
標頭 webservices.h