ContextBindingElement Klass

Definition

Tillhandahåller en skyddsnivå och en utbytesmekanism som en del av kontexten för ett bindningselement och funktionerna för att skapa kanallyssnare och fabriker.

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
Arv
ContextBindingElement
Implementeringar

Kommentarer

ContextBindingElement Tillåter användaren att lägga till ett element i bindningen av en tjänst för att hantera dess protokoll för kontextutbyte. ContextBindingElement är vanligtvis staplad ovanpå tillförlitlighets-, säkerhets- och transportbindningselement. A ContextBindingElement kräver inga konfigurationsalternativ och kan skapa kanalfabriker för IRequestChannel, IRequestSessionChanneloch IDuplexSessionChannel. Den kan också skapa kanallyssnare för IReplyChannel, IReplySessionChanneloch IDuplexSessionChannel. En kontextkanal ändrar inte kanalgränssnittet – den underliggande kanalstacken måste ha stöd för den begärda kanalformen och sessionsfunktionen.

Kanallyssnare och fabriker används för att konstruera den del av kanalstackarna som används för att bearbeta inkommande och utgående meddelanden.

Note

Om en sessionsbaserad bindning skapas med en ContextBindingElement och används med ett kontrakt som angerSessionMode = NotAllowed , utlöses en InvalidOperationException när kanalen skapas med följande text: "Kanalkontexthantering kan inte aktiveras eller inaktiveras när kanalen har öppnats." Du måste ange SessionMode till Allowed eller Required inte använda en sessionsbaserad kanal.

När du skapar en anpassad bindning rekommenderar vi att du lägger till ContextBindingElement i den BindingElementCollection anpassade bindningen innan du lägger till några tillförlitlighets- och säkerhetsbindningselement, om så finns. Om du inte gör det kan tjänsten utlösa en ProtocolException med följande meddelande:

"Kontextkanalen tog emot ett meddelande med kontext som inte matchar den aktuella kontexten som cachelagras i kanalen. Se till att tjänsten inte ändrar kontexten efter att den ursprungligen angavs eller inaktiverar kontexthantering genom att ange kanalegenskapen "IContextManager.Enabled" till false."

Konstruktorer

Name Description
ContextBindingElement()

Initierar en ny instans av ContextBindingElement klassen.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean)

Initierar en ny instans av ContextBindingElement klassen med den angivna skyddsnivån, mekanismen för kontextutbyte, klientens återanropsadress och ett värde som anger om kontexthantering är aktiverat.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri)

Initierar en ny instans av ContextBindingElement klassen med den angivna skyddsnivån, mekanismen för kontextutbyte och klientens återanropsadress.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism)

Initierar en ny instans av ContextBindingElement klassen med en angiven skydds- och utbytesmekanism.

ContextBindingElement(ProtectionLevel)

Initierar en ny instans av ContextBindingElement klassen med en angiven skyddsnivå.

Egenskaper

Name Description
ClientCallbackAddress

Hämtar eller anger klientens återanropsadress för bindningselementet.

ContextExchangeMechanism

Hämtar eller anger den exchange-mekanism som används för att kommunicera kontext för bindningselementet.

ContextManagementEnabled

Hämtar eller anger ett värde som anger om kontexthantering är aktiverat.

ProtectionLevel

Hämtar eller anger skyddsnivån för bindningselementet från kontexten.

Metoder

Name Description
BuildChannelFactory<TChannel>(BindingContext)

Skapar kanalfabriksstacken på klienten som skapar en angiven typ av kanal för en angiven kontext.

BuildChannelListener<TChannel>(BindingContext)

Skapar kanallyssningsstacken på klienten som accepterar en angiven typ av kanal för en angiven kontext.

CanBuildChannelFactory<TChannel>(BindingContext)

Returnerar ett värde som anger om det aktuella bindningselementet kan skapa en fabrik för en angiven typ av kanal och kontext.

CanBuildChannelListener<TChannel>(BindingContext)

Returnerar ett värde som anger om den aktuella bindningen kan skapa en lyssnare för en angiven typ av kanal och kontext.

Clone()

Skapar ett nytt ContextBindingElement objekt som initierats från det aktuella objektet.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
ExportPolicy(MetadataExporter, PolicyConversionContext)

Skriver anpassade principkontroller i kontexten för bindningselementet.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetProperty<T>(BindingContext)

Returnerar det inskrivna objektet med den angivna kontexten från lämpligt lager i kanalstacken.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för