WS_CHANNEL_PROPERTY_ID列舉 (webservices.h)

每個通道屬性都是由識別碼識別,而且具有相關聯的值。 如果未在建立通道時指定屬性,則會使用其預設值。

Syntax

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。 此
value 是接收或傳送串流訊息的大小限制
為通道。
限制會以位元組為單位指定信封的大小上限
以其編碼的線路形式表示。 最小值是 1。


只有在已選取串流輸入或輸出時,才能指定此屬性
已設定 (WS_STREAMED_INPUT_TRANSFER_MODEWS_STREAMED_OUTPUT_TRANSFER_MODE) 。


預設值為 4194304。
WS_CHANNEL_PROPERTY_MAX_STREAMED_START_SIZE
值: 2
搭配WsCreateChannelWsCreateChannelForListener
WsGetChannelProperty for WS_HTTP_CHANNEL_BINDING
這個值是訊息開頭可能多大的限制。
訊息的開頭是由信封標籤、標頭和本文標記所組成。
限制會以位元組為單位指定資料的大小上限,因為它出現在
其編碼的線形式。 最小值是 1。


只有在已選取串流輸入時,才能指定這個屬性
(WS_STREAMED_INPUT_TRANSFER_MODE) 。


此屬性會限制通道將配置的記憶體數量
若要讀取訊息的開頭。 針對串流輸入,
在應用程式之前,系統會將整個訊息開頭讀入緩衝區
收到已讀取訊息開始的通知。


預設值為 16384。
WS_CHANNEL_PROPERTY_MAX_STREAMED_FLUSH_SIZE
值: 3
搭配WsCreateChannelWsCreateChannelForListener
WsGetChannelProperty for WS_HTTP_CHANNEL_BINDING
此值是累積位元組數目的限制
在呼叫 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搭配使用。
這個值會指定要用於通道的信封版本。 此
通道的信封版本必須符合與 搭配使用之訊息的信封版本
通道。


WS_NAMEDPIPE_CHANNEL_BINDING不支援此屬性。 具名管道通道一律使用 WS_ENVELOPE_VERSION_SOAP_1_2

預設值取決於系結:
WS_CHANNEL_PROPERTY_ADDRESSING_VERSION
值: 6
WS_ADDRESSING_VERSION
WsCreateChannel、WsCreateChannelForListenerWsGetChannelProperty搭配使用。
這個值會指定要用於通道的定址版本。 此
通道的定址版本必須符合與 搭配使用的訊息版本
通道。


預設值取決於系結:



僅支援WS_ADDRESSING_VERSION_TRANSPORT
WS_HTTP_CHANNEL_BINDING
WS_CHANNEL_PROPERTY_MAX_SESSION_DICTIONARY_SIZE
值: 7
搭配 WsCreateChannel、WsCreateChannelForListenerWsGetChannelProperty使用的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
此逾時會限制等待的時間量
要從伺服器接收的所有回應標頭。
逾時值是以毫秒為單位,其中 INFINITE 值表示沒有逾時。


這個屬性可以設定為任何通道狀態。


預設值為 30000 (30 秒) 。


WS_SERVICE_PROXY將此逾時設定為 INFINITE。
WS_CHANNEL_PROPERTY_RECEIVE_TIMEOUT
值: 15
搭配WsCreateChannelWsCreateChannelForListener使用的ULONG
WsSetChannelPropertyWsGetChannelProperty
適用于 WS_TCP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING
此逾時會限制將花費在接收 的時間量
訊息的位元組。
逾時值以毫秒為單位,其中 INFINITE 值表示
沒有逾時。


搭配 WsCreateChannelWsSetChannelProperty使用
WsGetChannelProperty for WS_HTTP_CHANNEL_BINDINGWS_CHANNEL_TYPE_REQUEST
此逾時會限制將花費在接收 的時間量
訊息的位元組。 逾時值以毫秒為單位,
其中 VALUE 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
WsCreateChannel搭配使用的BOOL,適用于WS_HTTP_CHANNEL_BINDINGWS_TCP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING
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
with WS_CHANNEL_TYPE_DUPLEX 表示哪個配接器
當傳送至多播位址時,應該使用 。


值是配接器的介面索引。


如果未設定此屬性,或 為 0,則為 的預設配接器
使用電腦。 這可能不適用於具有多個介面卡的機器。


這個屬性可以設定為任何通道狀態。


預設屬性值為 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 位址為基礎
網路,即使使用 ,也可能遭到詐騙或竄改
安全通道 (取決於網路環境) 。
WS_CHANNEL_PROPERTY_REMOTE_IP_ADDRESS
值: 22
SOCKADDR_STORAGE結構
WsCreateChannel搭配使用
用於擷取 IP 位址的下列通道類型
遠端合作物件:



在通道開始讀取訊息之前,無法擷取這個屬性。


這個屬性是以從接收的來源 IP 位址為基礎
網路,即使使用 ,也可能遭到詐騙或竄改
安全通道 (取決於網路環境) 。
WS_CHANNEL_PROPERTY_HTTP_CONNECTION_ID
值: 23
WsGetChannelProperty搭配使用的ULONGLONG指標
for WS_HTTP_CHANNEL_BINDING with WS_CHANNEL_TYPE_REPLY
表示擷取可唯一識別用戶端連線的識別碼。


在通道開始讀取訊息之前,無法擷取這個屬性。


連接識別碼會在 時唯一識別連線
從 接受通道的接聽程式物件會保持開啟狀態。


指定的回復通道實例無法與連線相互關聯。
每次接受通道時,可能會有不同的連線識別碼
(即使上次接受) 之後,總連線集尚未變更也一樣。


應用程式可以使用連線識別碼來將狀態與相互關聯
HTTP 連線。
WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS
值: 24
搭配WsCreateChannelWsCreateChannelForListener使用WS_CUSTOM_CHANNEL_BINDING的WS_CUSTOM_CHANNEL_CALLBACKS結構。


這個屬性用來指定回呼
定義自訂通道的實作。


使用 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用於WS_CUSTOM_CHANNEL_BINDINGvoid


屬性的大小為 sizeof (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
搭配WsCreateChannel、WsCreateChannelForListenerWsGetChannelProperty 或 WsSetChannelProperty for WS_TCP_CHANNEL_BINDING使用的BOOL


此屬性會控制基礎通訊端的TCP_NODELAY通訊端選項值。


當此值為 FALSE時,會使用 Nagle 演算法,以便使用
藉由聯合小型訊息來改善輸送量。


將此值設定為 TRUE 可能會降低輸送量成本的延遲
針對小型訊息。


預設值為 FALSE
WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES
值: 29
WsCreateChannel搭配使用的BOOLWsCreateChannelForListener 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
搭配WsGetChannelProperty用於WS_TCP_CHANNEL_BINDINGBOOL
WS_NAMEDPIPE_CHANNEL_BINDINGWS_CHANNEL_TYPE_DUPLEX_SESSION


這個屬性工作表示
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
適用于 WS_TCP_CHANNEL_BINDINGWsGetChannelProperty
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
搭配WsCreateChannelWsCreateChannelForListener用於WS_TCP_CHANNEL_BINDING 的WS_CHANNEL_ENCODER結構,
WS_HTTP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING ,以提供訊息的自訂編碼方式。

這個屬性不能與 WS_UDP_CHANNEL_BINDING搭配使用。
WS_CHANNEL_PROPERTY_DECODER
值: 37
搭配WsCreateChannelWsCreateChannelForListener用於WS_TCP_CHANNEL_BINDING 的WS_CHANNEL_DECODER結構,
WS_HTTP_CHANNEL_BINDINGWS_NAMEDPIPE_CHANNEL_BINDING ,以提供訊息的自訂反編碼。

這個屬性不能與 WS_UDP_CHANNEL_BINDING搭配使用。
WS_CHANNEL_PROPERTY_PROTECTION_LEVEL
值: 38
任何通道類型搭配WsGetChannelProperty使用的WS_PROTECTION_LEVEL值。


這個屬性工作表示
通道所提供的安全性保證。


此屬性的值取決於安全性需求
要求通道。
WS_CHANNEL_PROPERTY_COOKIE_MODE
值: 39
搭配WsCreateChannelWS_HTTP_CHANNEL_BINDING搭配使用的WS_COOKIE_MODE值,以控制 HTTP Cookie 的處理方式。


預設值為 WS_AUTO_COOKIE_MODE
WS_CHANNEL_PROPERTY_HTTP_PROXY_SETTING_MODE
值: 40
搭配WsCreateChannelWS_HTTP_CHANNEL_BINDING搭配使用的WS_HTTP_PROXY_SETTING_MODE值,可控制通道的 HTTP Proxy 設定。


預設值為 WS_HTTP_PROXY_SETTING_MODE_AUTO
WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY
值: 41
搭配WsCreateChannelWS_HTTP_CHANNEL_BINDING搭配使用的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
搭配WsCreateChannelWsCreateChannelForListenerWS_HTTP_CHANNEL_BINDING 使用的WS_HTTP_MESSAGE_MAPPING結構。


這個屬性值會控制 HTTP 要求或回應的對應方式
訊息物件。 如需詳細資訊 ,請參閱WS_HTTP_MESSAGE_MAPPING


此屬性的預設值是 WS_HTTP_MESSAGE_MAPPING 結構,如下所示:



  • requestMappingOptions:0

  • requestHeaderMappings:none

  • responseMappingOptions:0

  • responseHeaderMappings:無



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_HTTP_CHANNEL_BINDINGWS_CHANNEL_TYPE_REQUEST搭配使用。


需要更細微的 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 服務傳回值。) 當設定為 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



傳回最後一個失敗要求所使用的遠端端點伺服器主體名稱。 不保證此屬性為
可供使用。 以下是必要的 (,但不一定足以) 這個屬性的條件存在:

  • 通道已傳送要求。

  • 要求失敗,因為 HTTP 標頭驗證配置不相符。 請參閱 WS_HTTP_HEADER_AUTH_SECURITY_BINDING

  • 遠端端點支援 「Nego2」 驗證配置。




此屬性僅適用于 Windows 7 和更新版本。
WS_CHANNEL_PROPERTY_HTTP_PROXY_SPN
值: 48
搭配WsGetChannelProperty用於WS_HTTP_CHANNEL_BINDINGWS_CHANNEL_TYPE_REQUESTWCHAR指標。



傳回最後一個失敗要求所使用的 HTTP Proxy 伺服器伺服器主體名稱。 不保證此屬性為
可供使用。 以下是必要的 (,但不一定足以) 這個屬性的條件存在:

  • 通道已傳送要求。

  • 要求失敗,因為 HTTP 標頭驗證配置不相符。 請參閱 WS_HTTP_HEADER_AUTH_SECURITY_BINDING

  • HTTP Proxy 伺服器支援 「Nego2」 驗證配置。




此屬性僅適用于 Windows 7 和更新版本。
WS_CHANNEL_PROPERTY_MAX_HTTP_REQUEST_HEADERS_BUFFER_SIZE
值: 49
WsCreateChannelForListener搭配使用的ULONG
適用于 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