ContextExchangeMechanism 列舉

定義

指定要使用 HTTP cookie 還是 SOAP 標頭,做為用戶端與服務間交談的內容交換機制。

public enum class ContextExchangeMechanism
public enum ContextExchangeMechanism
type ContextExchangeMechanism = 
Public Enum ContextExchangeMechanism
繼承
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,在應用程式層級中來回傳送內容。

適用於