ContextBindingElement Klasa

Definicja

Zapewnia poziom ochrony i mechanizm wymiany w ramach kontekstu elementu powiązania oraz funkcjonalność do tworzenia odbiorników kanałów 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

Umożliwia ContextBindingElement użytkownikowi dodanie elementu do powiązania usługi na potrzeby zarządzania protokołem wymiany kontekstu. Element ContextBindingElement jest zwykle skumulowany na podstawie elementów niezawodności, zabezpieczeń i powiązania transportu. A ContextBindingElement nie wymaga żadnych opcji konfiguracji i może tworzyć fabryki kanałów dla IRequestChannel, IRequestSessionChanneli IDuplexSessionChannel. Może również tworzyć odbiorniki kanałów dla IReplyChannel, IReplySessionChanneli IDuplexSessionChannel. Kanał kontekstowy nie zmienia interfejsu kanału — podstawowy 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 = , jest InvalidOperationException zgłaszany po utworzeniu 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 nie używać AllowedRequired kanału opartego na sesji.

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

"Kanał kontekstowy otrzymał komunikat z kontekstem, który nie jest zgodny z bieżącym kontekstem buforowanym 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 o określonym poziomie ochrony.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism)

Inicjuje ContextBindingElement nowe wystąpienie klasy o określonym poziomie ochrony i mechanizmu 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 ContextBindingElement nowe wystąpienie 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łów 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 obiektu.

Equals(Object)

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

(Odziedziczone po Object)
ExportPolicy(MetadataExporter, PolicyConversionContext)

Zapisuje potwierdzenia zasad niestandardowych w kontekście elementu powiązania.

GetHashCode()

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

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

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

GetType()

Type Pobiera bieżące wystąpienie.

(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