ContextBindingElement Klasa

Definicja

Zapewnia poziom ochrony i mechanizm wymiany w ramach kontekstu elementu powiązania i funkcjonalność do tworzenia odbiorników kanału i fabryk.

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
Dziedziczenie
ContextBindingElement
Implementuje

Uwagi

Element ContextBindingElement umożliwia użytkownikowi dodanie elementu do powiązania usługi na potrzeby zarządzania protokołem wymiany kontekstu. Element ContextBindingElement jest zwykle stosowany na podstawie elementów niezawodności, zabezpieczeń i powiązania transportu. Element ContextBindingElement nie wymaga żadnych opcji konfiguracji i może tworzyć fabryki kanałów dla IRequestChannelelementów , IRequestSessionChanneli IDuplexSessionChannel. Może również tworzyć odbiorniki kanałów dla IReplyChannelelementów , IReplySessionChanneli IDuplexSessionChannel. Kanał kontekstowy nie zmienia interfejsu kanału — bazowy stos kanału musi obsługiwać żądany kształt kanału i możliwość sesji.

Odbiorniki kanału i fabryki służą do konstruowania części stosów kanałów używanych do przetwarzania przychodzących i wychodzących komunikatów.

Uwaga

Jeśli powiązanie oparte na sesji jest tworzone z elementem ContextBindingElement i używanym z kontraktem, który określaNotAllowedSessionMode = , InvalidOperationException jest zgłaszany podczas tworzenia kanału z następującym tekstem: "Nie można włączyć ani wyłączyć zarządzania kontekstem kanału po otwarciu kanału". Musisz ustawić SessionMode lub Required nie używać Allowed kanału opartego na sesji.

Podczas tworzenia powiązania niestandardowego zaleca się dodanie ContextBindingElement elementu do BindingElementCollection powiązania niestandardowego przed dodaniem wszelkich elementów niezawodności i powiązań zabezpieczeń, jeśli istnieją. Jeśli tego nie zrobisz, usługa może zgłosić komunikat z następującym komunikatem ProtocolException :

"Kanał kontekstowy odebrał komunikat z kontekstem, który nie pasuje do bieżącego kontekstu buforowanego w kanale. Upewnij się, że usługa nie zmienia kontekstu po jej pierwotnym ustawieniu lub wyłączeniu zarządzania kontekstem przez ustawienie właściwości kanału "IContextManager.Enabled" na wartość false".

Konstruktory

ContextBindingElement()

Inicjuje nowe wystąpienie klasy ContextBindingElement.

ContextBindingElement(ProtectionLevel)

Inicjuje ContextBindingElement nowe wystąpienie klasy z określonym poziomem ochrony.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism)

Inicjuje ContextBindingElement nowe wystąpienie klasy z określonym poziomem ochrony i mechanizmem wymiany.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri)

Inicjuje ContextBindingElement nowe wystąpienie klasy z określonym poziomem ochrony, mechanizmem wymiany kontekstu i adresem wywołania zwrotnego klienta.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean)

Inicjuje nowe wystąpienie ContextBindingElement klasy z określonym poziomem ochrony, mechanizmem wymiany kontekstu, adresem wywołania zwrotnego klienta i wartością określającą, czy zarządzanie kontekstem jest włączone.

Właściwości

ClientCallbackAddress

Pobiera lub ustawia adres wywołania zwrotnego klienta dla elementu powiązania.

ContextExchangeMechanism

Pobiera lub ustawia mechanizm wymiany używany do komunikowania kontekstu elementu powiązania.

ContextManagementEnabled

Pobiera lub ustawia wartość określającą, czy zarządzanie kontekstem jest włączone.

ProtectionLevel

Pobiera lub ustawia poziom ochrony elementu powiązania z kontekstu.

Metody

BuildChannelFactory<TChannel>(BindingContext)

Tworzy stos fabryki kanału na kliencie, który tworzy określony typ kanału dla określonego kontekstu.

BuildChannelListener<TChannel>(BindingContext)

Tworzy stos odbiornika kanału na kliencie, który akceptuje określony typ kanału dla określonego kontekstu.

CanBuildChannelFactory<TChannel>(BindingContext)

Zwraca wartość wskazującą, czy bieżący element powiązania może utworzyć fabrykę dla określonego typu kanału i kontekstu.

CanBuildChannelListener<TChannel>(BindingContext)

Zwraca wartość wskazującą, czy bieżące powiązanie może utworzyć odbiornik dla określonego typu kanału i kontekstu.

Clone()

Tworzy nowy ContextBindingElement obiekt zainicjowany na podstawie bieżącego.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
ExportPolicy(MetadataExporter, PolicyConversionContext)

Zapisuje niestandardowe asercji zasad w kontekście elementu powiązania.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetProperty<T>(BindingContext)

Zwraca wpisany obiekt z określonym kontekstem z odpowiedniej warstwy w stosie kanału.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy