ContextBindingElement 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供保護層級和交換機制,做為綁定項內容的一部分,以及建置通道接聽程式和處理站的功能。
public ref class ContextBindingElement : System::ServiceModel::Channels::BindingElement, System::ServiceModel::Channels::IContextBindingElement, System::ServiceModel::Description::IPolicyExportExtension
public class ContextBindingElement : System.ServiceModel.Channels.BindingElement, System.ServiceModel.Channels.IContextBindingElement, System.ServiceModel.Description.IPolicyExportExtension
type ContextBindingElement = class
inherit BindingElement
interface IPolicyExportExtension
interface IContextBindingElement
Public Class ContextBindingElement
Inherits BindingElement
Implements IContextBindingElement, IPolicyExportExtension
- 繼承
- 實作
備註
ContextBindingElement 可讓使用者將專案新增至服務系結,以管理其內容交換通訊協定。 ContextBindingElement 通常會堆疊在可靠性、安全性和傳輸綁定項之上。 ContextBindingElement 不需要任何組態選項,而且可以為 IRequestChannel、IRequestSessionChannel和 IDuplexSessionChannel建立通道處理站。 它也可以為 IReplyChannel、IReplySessionChannel和 IDuplexSessionChannel建立通道接聽程式。 內容通道不會變更通道介面 - 基礎通道堆疊必須支援要求的通道圖形和會話功能。
通道接聽程式和處理站可用來建構用來處理傳入和傳出訊息之通道堆疊的一部分。
注意
如果使用 ContextBindingElement 建立會話型系結,並搭配指定 SessionMode = NotAllowed的合約使用,則當通道以下列文字建立時,會擲回 InvalidOperationException:「通道內容管理無法在通道開啟後啟用或停用」。您必須將 SessionMode 設定為 Allowed 或 Required 或使用工作階段型通道。
建立自定義系結時,建議您在加入任何可靠性和安全性綁定項之前,先將 ContextBindingElement 新增至自定義系結的 BindingElementCollection。 如果沒有,您的服務可能會擲回具有下列訊息的 ProtocolException:
「內容通道收到一則訊息,其內容與通道上快取的目前內容不符。 確定服務在最初設定或停用內容管理之後,將通道屬性 『IContextManager.Enabled』 設定為 false,以確保服務不會變更內容。
建構函式
ContextBindingElement() |
初始化 ContextBindingElement 類別的新實例。 |
ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean) |
使用指定的保護層級、內容交換機制、用戶端回呼位址,以及指定是否啟用內容管理的值,初始化 ContextBindingElement 類別的新實例。 |
ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri) |
使用指定的保護層級、內容交換機制和用戶端回呼位址,初始化 ContextBindingElement 類別的新實例。 |
ContextBindingElement(ProtectionLevel, ContextExchangeMechanism) |
使用指定的保護和交換機制層級,初始化 ContextBindingElement 類別的新實例。 |
ContextBindingElement(ProtectionLevel) |
使用指定的保護層級,初始化 ContextBindingElement 類別的新實例。 |
屬性
ClientCallbackAddress |
取得或設定綁定項的用戶端回呼位址。 |
ContextExchangeMechanism |
取得或設定交換機制,用來傳達綁定項的內容。 |
ContextManagementEnabled |
取得或設定值,指定是否啟用內容管理。 |
ProtectionLevel |
取得或設定內容中綁定項的保護層級。 |
方法
BuildChannelFactory<TChannel>(BindingContext) |
在用戶端上建置通道處理站堆疊,為指定的內容建立指定的通道類型。 |
BuildChannelListener<TChannel>(BindingContext) |
在用戶端上建置通道接聽程式堆疊,以接受指定內容的指定通道類型。 |
CanBuildChannelFactory<TChannel>(BindingContext) |
傳回值,這個值表示目前的綁定項是否可以為指定的通道和內容類型建置處理站。 |
CanBuildChannelListener<TChannel>(BindingContext) |
傳回值,這個值表示目前的系結是否可以為指定的通道和內容類型建置接聽程式。 |
Clone() |
建立從目前物件初始化的新 ContextBindingElement 物件。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
ExportPolicy(MetadataExporter, PolicyConversionContext) |
將自定義原則判斷提示寫入綁定項的內容。 |
GetHashCode() |
做為預設哈希函式。 (繼承來源 Object) |
GetProperty<T>(BindingContext) |
從通道堆疊中適當層傳回具有指定內容的具型別物件。 |
GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |