ContextExchangeMechanism 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指定要使用 HTTP cookie 還是 SOAP 標頭,做為用戶端與服務間交談的內容交換機制。
public enum class ContextExchangeMechanism
public enum ContextExchangeMechanism
type ContextExchangeMechanism =
Public Enum ContextExchangeMechanism
- 繼承
欄位
ContextSoapHeader | 0 | SOAP 標頭是用來交換內容的。 這是預設的交換機制。 |
HttpCookie | 1 | HTTP cookie 是用來交換內容的。 |
備註
使用 ContextExchangeMechanism 屬性或 ContextBindingElement(ProtectionLevel, ContextExchangeMechanism) 建構函式,指定用戶端與服務間交談的 ContextExchangeMechanism 值。
需要內容交換通訊協定支援的服務端點,可以在發行的原則中明確陳述這項需求。 代表用戶端需求、以支援 SOAP 層級的內容交換通訊協定或要求啟用 HTTP cookie 支援的原則判斷提示,可由端點發行。 ContextExchangeMechanism 屬性值會決定是否在服務原則中產生這些判斷提示,如下所示:
針對 HttpCookie,會產生下列判斷提示:
<HttpUseCookie xmlns="http://schemas.xmlsoap.org/soap/http"/>
針對 ContextSoapHeader,會產生下列判斷提示:
<IncludeContext xmlns="http://schemas.microsoft.com/ws/2006/05/context" protectionLevel="Sign" />
HttpCookie 列舉是在傳輸層實作。 Simplex 通訊可使用它,此時,用戶端建立一個初始要求,而內容則由服務在對應的回覆中提供。 之後,在整個交談生命週期間,服務與用戶端之間的所有後續訊息都會包含內容。 對於使用 HTTP 傳輸的服務端點,以及同意允許使用 HTTP Cookie 的用戶端,可以使用 HttpCookie 列舉來交換應用程式內容。 一旦使用 HTTP Cookie 來傳播內容,就應該透過傳輸安全性來保護這些 Cookie 的安全。 這個機制無法與非 HTTP 傳輸一起使用。
ContextSoapHeader 列舉提供在自定義內容通道中實作的替代方法,可與非 HTTP 傳輸和其他訊息交換模式搭配使用,例如要求-回復和雙工會話。 此內容交換通訊協定提供由傳輸層 HTTP cookie 所提供、與 SOAP 相等的功能。 它引進新的 wsc:Context
SOAP 標頭來代表內容資訊。 轉換時,必須保護 wsc:Context
標頭,避免遭到篡改,其理由與 WS-Addressing 標頭需要保護的理由相同︰訊息到達時,這些標頭是用來將訊息分派給正確的工作流程執行個體。 因此,當繫結提供訊息保護功能時,wsc:Context
標頭必須在 SOAP 或傳輸層經過數位簽署。
通道層級會透過 ContextMessageProperty,在應用程式層級中來回傳送內容。