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 搭配 WsCreateChannel、 WsCreateChannelForListener 或 WsGetChannelProperty for WS_TCP_CHANNEL_BINDING, WS_HTTP_CHANNEL_BINDING或 WS_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_MODE 或 WS_STREAMED_OUTPUT_TRANSFER_MODE) 。 預設值為 4194304。 |
WS_CHANNEL_PROPERTY_MAX_STREAMED_START_SIZE 值: 2 搭配WsCreateChannel、WsCreateChannelForListener或 WsGetChannelProperty for WS_HTTP_CHANNEL_BINDING。 這個值是訊息開頭可能多大的限制。 訊息的開頭是由信封標籤、標頭和本文標記所組成。 限制會以位元組為單位指定資料的大小上限,因為它出現在 其編碼的線形式。 最小值是 1。 只有在已選取串流輸入時,才能指定這個屬性 (WS_STREAMED_INPUT_TRANSFER_MODE) 。 此屬性會限制通道將配置的記憶體數量 若要讀取訊息的開頭。 針對串流輸入, 在應用程式之前,系統會將整個訊息開頭讀入緩衝區 收到已讀取訊息開始的通知。 預設值為 16384。 |
WS_CHANNEL_PROPERTY_MAX_STREAMED_FLUSH_SIZE 值: 3 搭配WsCreateChannel、WsCreateChannelForListener或 WsGetChannelProperty for WS_HTTP_CHANNEL_BINDING。 此值是累積位元組數目的限制 在呼叫 WsFlushBody之前。 只有在已選取資料流程輸出時,才能指定這個屬性 (WS_STREAMED_OUTPUT_TRANSFER_MODE) 。 此屬性會限制通道將配置的記憶體數量 為了累積緩衝處理的資料。 針對串流輸出, 通道會累積緩衝區中的資料,直到 呼叫 WsFlushBody 為止。 預設值為 65536。 |
WS_CHANNEL_PROPERTY_ENCODING 值: 4 WS_ENCODING值 用於 WsCreateChannel、 WsCreateChannelForListener 或 WsGetChannelProperty for 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值 與WsCreateChannel、WsCreateChannelForListener或WsGetChannelProperty搭配使用。 這個值會指定要用於通道的信封版本。 此 通道的信封版本必須符合與 搭配使用之訊息的信封版本 通道。 WS_NAMEDPIPE_CHANNEL_BINDING不支援此屬性。 具名管道通道一律使用 WS_ENVELOPE_VERSION_SOAP_1_2。 預設值取決於系結:
|
WS_CHANNEL_PROPERTY_ADDRESSING_VERSION 值: 6 WS_ADDRESSING_VERSION值 與WsCreateChannel、WsCreateChannelForListener或WsGetChannelProperty搭配使用。 這個值會指定要用於通道的定址版本。 此 通道的定址版本必須符合與 搭配使用的訊息版本 通道。 預設值取決於系結:
僅支援WS_ADDRESSING_VERSION_TRANSPORT WS_HTTP_CHANNEL_BINDING。 |
WS_CHANNEL_PROPERTY_MAX_SESSION_DICTIONARY_SIZE 值: 7 搭配 WsCreateChannel、WsCreateChannelForListener或WsGetChannelProperty使用的ULONG。 此屬性僅適用于 WS_TCP_CHANNEL_BINDING 或 WS_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 搭配WsCreateChannel或WsGetChannelProperty使用的WS_CALLBACK_MODEL值。 此值表示發出時慣用的非同步回呼模型 通道的非同步作業。 如果使用 WsCreateChannelForListener ,請參閱 WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL。 預設值為 WS_LONG_CALLBACK。 WS_SERVICE_HOST和WS_SERVICE_PROXY僅支援WS_LONG_CALLBACK 做為這個屬性可接受的值。 |
WS_CHANNEL_PROPERTY_IP_VERSION 值: 10 WS_IP_VERSION值 與 WsCreateChannel 或 WsGetChannelProperty 搭配 使用,以用於 WS_TCP_CHANNEL_BINDING 或 WS_UDP_CHANNEL_BINDING。 這個屬性會指定通道應該使用的 IP 版本 與遠端端點通訊。 若要指定要用於已接受通道的 IP 版本,請使用 WS_LISTENER_PROPERTY_IP_VERSION 接聽程式屬性的時機 建立接聽程式物件。 預設值為 WS_IP_VERSION_AUTO。 |
WS_CHANNEL_PROPERTY_RESOLVE_TIMEOUT 值: 11 搭配WsCreateChannel、WsSetChannelProperty使用的ULONG 或 WsSetChannelProperty for WS_HTTP_CHANNEL_BINDING 和 WS_CHANNEL_TYPE_REQUEST。 此逾時會限制將花費在解析的時間量 DNS 名稱。 逾時值以毫秒為單位, 其中 VALUE INFINITE 表示沒有逾時。 這個屬性可以設定在任何通道狀態。 預設值為 INFINITE。 |
WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT 值: 12 搭配WsCreateChannel使用的ULONG, WsSetChannelProperty或 WsGetChannelProperty 在用戶端上 WS_TCP_CHANNEL_BINDING 或 WS_NAMEDPIPE_CHANNEL_BINDING 。 此逾時會限制連線到遠端電腦並完成 net.tcp 或 net.pipe 交握所花費的時間量。 逾時值 以毫秒為單位,其中 VALUE INFINITE 表示沒有逾時。 若要設定 或取得伺服器端的對應逾時,請使用 (WS_LISTENER_PROPERTY_CONNECT_TIMEOUT) 。 與 WsCreateChannel搭配使用, WsSetChannelProperty或 WsGetChannelProperty for WS_HTTP_CHANNEL_BINDING 和 WS_CHANNEL_TYPE_REQUEST。 此逾時會限制將花費在連線的時間量 至 HTTP 伺服器。 逾時值以毫秒為單位, 其中 VALUE INFINITE 表示沒有逾時。 這個屬性可以設定在任何通道狀態。 預設值為 30000 (30 秒) 。 WS_SERVICE_PROXY預設會將此逾時設定為 INFINITE。 |
WS_CHANNEL_PROPERTY_SEND_TIMEOUT 值: 13 搭配WsCreateChannel、WsCreateChannelForListener使用的ULONG、 WsSetChannelProperty或 WsGetChannelProperty 適用于 WS_TCP_CHANNEL_BINDING 或 WS_NAMEDPIPE_CHANNEL_BINDING。 此逾時會限制 傳送訊息位元組所花費的時間量。 逾時值以毫秒為單位,其中 VALUE INFINITE 表示 沒有逾時。 與 WsCreateChannel、 WsSetChannelProperty搭配使用、 或 WsGetChannelProperty for WS_HTTP_CHANNEL_BINDING 和 WS_CHANNEL_TYPE_REQUEST。 此逾時會限制傳送所花費的時間量 HTTP 標頭和訊息的位元組。 逾時值以毫秒為單位,其中 value INFINITE 表示沒有逾時。 這個屬性可以設定在任何通道狀態。 預設值為 30000 (30 秒) 。 WS_SERVICE_HOST和WS_SERVICE_PROXY設定此專案 依預設,逾時為 INFINITE。 |
WS_CHANNEL_PROPERTY_RECEIVE_RESPONSE_TIMEOUT 值: 14 搭配WsCreateChannel、WsSetChannelProperty使用的ULONG 或 WsSetChannelProperty for WS_HTTP_CHANNEL_BINDING 和 WS_CHANNEL_TYPE_REQUEST。 此逾時會限制等待的時間量 要從伺服器接收的所有回應標頭。 逾時值是以毫秒為單位,其中 INFINITE 值表示沒有逾時。 這個屬性可以設定為任何通道狀態。 預設值為 30000 (30 秒) 。 WS_SERVICE_PROXY將此逾時設定為 INFINITE。 |
WS_CHANNEL_PROPERTY_RECEIVE_TIMEOUT 值: 15 搭配WsCreateChannel、WsCreateChannelForListener使用的ULONG、 WsSetChannelProperty或 WsGetChannelProperty、 適用于 WS_TCP_CHANNEL_BINDING 或 WS_NAMEDPIPE_CHANNEL_BINDING。 此逾時會限制將花費在接收 的時間量 訊息的位元組。 逾時值以毫秒為單位,其中 INFINITE 值表示 沒有逾時。 搭配 WsCreateChannel、 WsSetChannelProperty使用 或 WsGetChannelProperty for WS_HTTP_CHANNEL_BINDING 和 WS_CHANNEL_TYPE_REQUEST。 此逾時會限制將花費在接收 的時間量 訊息的位元組。 逾時值以毫秒為單位, 其中 VALUE INFINITE 表示沒有逾時。 WsWriteMessageEnd、WsReadMessageStart和WsReadMessageEnd可以觸發此逾時。 這個屬性可以設定為任何通道狀態。 預設值為 30000 (30 秒) 。 WS_SERVICE_HOST和WS_SERVICE_PROXY設定此專案 依預設,TIMEOUT 為 INFINITE。 |
WS_CHANNEL_PROPERTY_CLOSE_TIMEOUT 值: 16 搭配WsCreateChannel、WsCreateChannelForListener使用的ULONG WsSetChannelProperty或 WsGetChannelProperty 適用于 WS_TCP_CHANNEL_BINDING 或 WS_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_BINDING、WS_TCP_CHANNEL_BINDING、WS_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_PROXY 和 WS_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 搭配WsCreateChannel、WsSetChannelProperty使用的ULONG、 或 WsGetChannelProperty for WS_UDP_CHANNEL_BINDING with WS_CHANNEL_TYPE_DUPLEX 表示哪個配接器 當傳送至多播位址時,應該使用 。 值是配接器的介面索引。 如果未設定此屬性,或 為 0,則為 的預設配接器 使用電腦。 這可能不適用於具有多個介面卡的機器。 這個屬性可以設定為任何通道狀態。 預設屬性值為 0。 |
WS_CHANNEL_PROPERTY_MULTICAST_HOPS 值: 20 搭配WsCreateChannel或WsGetChannelProperty使用的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 搭配WsCreateChannel或WsCreateChannelForListener使用WS_CUSTOM_CHANNEL_BINDING的WS_CUSTOM_CHANNEL_CALLBACKS結構。 這個屬性用來指定回呼 定義自訂通道的實作。 使用 WS_CUSTOM_CHANNEL_BINDING 時,必須指定這個屬性。 |
WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS 值: 25 與 WsCreateChannel 或 WsCreateChannelForListener 搭配使用的任意大小資料類型指標 ,用於 WS_CUSTOM_CHANNEL_BINDING。 這個屬性用來指定用來建立自訂的參數 通道實作。 屬性的大小是資料類型的大小。 這個屬性的值將會傳遞至 WS_CREATE_CHANNEL_CALLBACK。 如果未指定這個屬性,則其值為 Null ,大小為零。 |
WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_INSTANCE 值: 26 搭配WsGetChannelProperty用於WS_CUSTOM_CHANNEL_BINDING的void 。 屬性的大小為 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、WsCreateChannelForListener或WsGetChannelProperty 或 WsSetChannelProperty for WS_TCP_CHANNEL_BINDING使用的BOOL。 此屬性會控制基礎通訊端的TCP_NODELAY通訊端選項值。 當此值為 FALSE時,會使用 Nagle 演算法,以便使用 藉由聯合小型訊息來改善輸送量。 將此值設定為 TRUE 可能會降低輸送量成本的延遲 針對小型訊息。 預設值為 FALSE。 |
WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES 值: 29 與WsCreateChannel搭配使用的BOOL,WsCreateChannelForListener for WS_TCP_CHANNEL_BINDING。 此屬性控制基礎通訊端的SO_KEEPALIVE通訊端選項值。 將此值設定為 TRUE 會導致持續連線封包傳送 在基礎通訊端上,這可能有助於偵測何時 遠端合作物件已無法使用。 預設值為 FALSE。 |
WS_CHANNEL_PROPERTY_KEEP_ALIVE_TIME 值: 30 搭配WsCreateChannel或WsCreateChannelForListener使用的ULONG,用於WS_TCP_CHANNEL_BINDING。 這個屬性是以毫秒為單位來測量。 只有當 WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES 屬性的值為 TRUE時,才能指定這個屬性。 值表示如果 傳送保持運作封包之前的時間量 通訊端不在使用中。 預設值是 2 小時。 |
WS_CHANNEL_PROPERTY_KEEP_ALIVE_INTERVAL 值: 31 搭配WsCreateChannel或WsCreateChannelForListener使用的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_BINDING的BOOL 或 WS_NAMEDPIPE_CHANNEL_BINDING 與 WS_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 搭配WsCreateChannel、WsCreateChannelForListener或 適用于 WS_TCP_CHANNEL_BINDING的WsGetChannelProperty、 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 搭配WsCreateChannel或WsCreateChannelForListener用於WS_TCP_CHANNEL_BINDING 的WS_CHANNEL_ENCODER結構, WS_HTTP_CHANNEL_BINDING或 WS_NAMEDPIPE_CHANNEL_BINDING ,以提供訊息的自訂編碼方式。 這個屬性不能與 WS_UDP_CHANNEL_BINDING搭配使用。 |
WS_CHANNEL_PROPERTY_DECODER 值: 37 搭配WsCreateChannel或WsCreateChannelForListener用於WS_TCP_CHANNEL_BINDING 的WS_CHANNEL_DECODER結構, WS_HTTP_CHANNEL_BINDING或 WS_NAMEDPIPE_CHANNEL_BINDING ,以提供訊息的自訂反編碼。 這個屬性不能與 WS_UDP_CHANNEL_BINDING搭配使用。 |
WS_CHANNEL_PROPERTY_PROTECTION_LEVEL 值: 38 任何通道類型搭配WsGetChannelProperty使用的WS_PROTECTION_LEVEL值。 這個屬性工作表示 通道所提供的安全性保證。 此屬性的值取決於安全性需求 要求通道。 |
WS_CHANNEL_PROPERTY_COOKIE_MODE 值: 39 搭配WsCreateChannel與WS_HTTP_CHANNEL_BINDING搭配使用的WS_COOKIE_MODE值,以控制 HTTP Cookie 的處理方式。 預設值為 WS_AUTO_COOKIE_MODE。 |
WS_CHANNEL_PROPERTY_HTTP_PROXY_SETTING_MODE 值: 40 搭配WsCreateChannel與WS_HTTP_CHANNEL_BINDING搭配使用的WS_HTTP_PROXY_SETTING_MODE值,可控制通道的 HTTP Proxy 設定。 預設值為 WS_HTTP_PROXY_SETTING_MODE_AUTO。 |
WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY 值: 41 搭配WsCreateChannel與WS_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 搭配WsCreateChannel或WsCreateChannelForListenerWS_HTTP_CHANNEL_BINDING 使用的WS_HTTP_MESSAGE_MAPPING結構。 這個屬性值會控制 HTTP 要求或回應的對應方式 訊息物件。 如需詳細資訊 ,請參閱WS_HTTP_MESSAGE_MAPPING 。 此屬性的預設值是 WS_HTTP_MESSAGE_MAPPING 結構,如下所示:
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_BINDING 與 WS_CHANNEL_TYPE_REQUEST搭配使用。 需要更細微的 HTTP 重新導向控制時,可以指定這個屬性值。 設定此屬性時,將會使用原始端點 URL 呼叫指定的回呼常式 以及要轉送訊息的新 URL。 回呼傳回值是用來指出是否 應該允許重新導向。 |
WS_CHANNEL_PROPERTY_FAULTS_AS_ERRORS 值: 45 搭配WsCreateChannel、WsSetChannelProperty使用的BOOL WS_HTTP_CHANNEL_BINDING和WS_CHANNEL_TYPE_REQUEST的WsGetChannelProperty或WsCreateServiceProxy,或在用戶端上WS_TCP_CHANNEL_BINDING、WS_NAMEDPIPE_CHANNEL_BINDING和WS_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 並搭配 WsCreateChannel 或 WsSetChannelProperty使用時, 它會覆寫 下列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 搭配WsCreateChannel、WsSetChannelProperty使用的BOOL 或 WsGetChannelProperty for WS_HTTP_CHANNEL_BINDING 和 WS_CHANNEL_TYPE_REQUEST,或在用戶端上 WS_TCP_CHANNEL_BINDING 和 WS_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_BINDING 和 WS_CHANNEL_TYPE_REQUEST。 傳回最後一個失敗要求所使用的遠端端點伺服器主體名稱。 不保證此屬性為 可供使用。 以下是必要的 (,但不一定足以) 這個屬性的條件存在:
此屬性僅適用于 Windows 7 和更新版本。 |
WS_CHANNEL_PROPERTY_HTTP_PROXY_SPN 值: 48 搭配WsGetChannelProperty用於WS_HTTP_CHANNEL_BINDING和WS_CHANNEL_TYPE_REQUEST的WCHAR指標。 傳回最後一個失敗要求所使用的 HTTP Proxy 伺服器伺服器主體名稱。 不保證此屬性為 可供使用。 以下是必要的 (,但不一定足以) 這個屬性的條件存在:
此屬性僅適用于 Windows 7 和更新版本。 |
WS_CHANNEL_PROPERTY_MAX_HTTP_REQUEST_HEADERS_BUFFER_SIZE 值: 49 與WsCreateChannelForListener搭配使用的ULONG或 適用于 WS_HTTP_CHANNEL_BINDING的WsGetChannelProperty 具有 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 |