ContextBindingElement Sınıf

Tanım

Bağlama öğesinin bağlamının bir parçası olarak bir koruma düzeyi ve bir değişim mekanizması ve kanal dinleyicilerini ve fabrikalarını oluşturma işlevselliğini sağlar.

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
Devralma
ContextBindingElement
Uygulamalar

Açıklamalar

ContextBindingElement, kullanıcının bağlam değişimi protokolünü yönetmek için hizmetin bağlamasına bir öğe eklemesine olanak tanır. ContextBindingElement genellikle güvenilirlik, güvenlik ve aktarım bağlama öğelerinin üzerine yığılır. ContextBindingElement herhangi bir yapılandırma seçeneği gerektirmez ve IRequestChannel, IRequestSessionChannelve IDuplexSessionChanneliçin kanal fabrikaları oluşturabilir. Ayrıca IReplyChannel, IReplySessionChannelve IDuplexSessionChanneliçin kanal dinleyicileri oluşturabilir. Bağlam kanalı kanal arabirimini değiştirmez; temel kanal yığını istenen kanal şeklini ve oturum özelliğini desteklemelidir.

Kanal dinleyicileri ve fabrikaları, gelen ve giden iletileri işlemek için kullanılan kanal yığınlarının bir bölümünü oluşturmak için kullanılır.

Not

ContextBindingElement ile oturum tabanlı bağlama oluşturulur ve SessionMode = NotAllowedbelirten bir sözleşmeyle kullanılırsa, kanal şu metinle oluşturulduğunda bir InvalidOperationException oluşturulur: "Kanal bağlam yönetimi, kanal açıldıktan sonra etkinleştirilemez veya devre dışı bırakılamaz." SessionModeAllowed veya Required olarak ayarlamanız veya oturum tabanlı kanal kullanmamanız gerekir.

Özel bağlama oluştururken, varsa herhangi bir güvenilirlik ve güvenlik bağlaması öğesi eklemeden önce ContextBindingElement özel bağlamanın BindingElementCollection eklemeniz önerilir. Bunu yapmazsanız, hizmetiniz aşağıdaki iletiyi içeren bir ProtocolException atabilir:

"Bağlam kanalı, kanalda önbelleğe alınan geçerli bağlamla eşleşmeyen bir bağlam iletisi aldı. 'IContextManager.Enabled' kanal özelliğini false olarak ayarlayarak hizmetin başlangıçta ayarlandıktan sonra bağlamı değiştirmediğinden veya bağlam yönetimini devre dışı bırakmadığından emin olun."

Oluşturucular

ContextBindingElement()

ContextBindingElement sınıfının yeni bir örneğini başlatır.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean)

Belirtilen koruma düzeyi, bağlam değişimi mekanizması, istemci geri çağırma adresi ve bağlam yönetiminin etkinleştirilip etkinleştirilmediğini belirten bir değerle ContextBindingElement sınıfının yeni bir örneğini başlatır.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri)

Belirtilen koruma düzeyi, bağlam değişimi mekanizması ve istemci geri çağırma adresi ile ContextBindingElement sınıfının yeni bir örneğini başlatır.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism)

Belirtilen koruma ve değişim mekanizması düzeyiyle ContextBindingElement sınıfının yeni bir örneğini başlatır.

ContextBindingElement(ProtectionLevel)

Belirtilen koruma düzeyiyle ContextBindingElement sınıfının yeni bir örneğini başlatır.

Özellikler

ClientCallbackAddress

Bağlama öğesi için istemci geri çağırma adresini alır veya ayarlar.

ContextExchangeMechanism

Bağlama öğesinin bağlamını iletmek için kullanılan değişim mekanizmasını alır veya ayarlar.

ContextManagementEnabled

Bağlam yönetiminin etkinleştirilip etkinleştirilmediğini belirten bir değer alır veya ayarlar.

ProtectionLevel

Bağlama öğesi için koruma düzeyini bağlamdan alır veya ayarlar.

Yöntemler

BuildChannelFactory<TChannel>(BindingContext)

Belirtilen bağlam için belirtilen kanal türünü oluşturan istemcide kanal fabrikası yığınını oluşturur.

BuildChannelListener<TChannel>(BindingContext)

belirtilen bir bağlam için belirtilen kanal türünü kabul eden istemcide kanal dinleyicisi yığınını oluşturur.

CanBuildChannelFactory<TChannel>(BindingContext)

Geçerli bağlama öğesinin belirtilen kanal ve bağlam türü için fabrika oluşturup oluşturamayacağını gösteren bir değer döndürür.

CanBuildChannelListener<TChannel>(BindingContext)

Geçerli bağlamanın belirtilen kanal ve bağlam türü için dinleyici oluşturup oluşturamayacağını gösteren bir değer döndürür.

Clone()

Geçerli nesneden başlatılan yeni bir ContextBindingElement nesnesi oluşturur.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
ExportPolicy(MetadataExporter, PolicyConversionContext)

Bağlama öğesinin bağlamı içine özel ilke onayları yazar.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetProperty<T>(BindingContext)

Belirtilen bağlama sahip yazılan nesneyi kanal yığınındaki uygun katmandan döndürür.

GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır