ContextBindingElement Sınıf

Tanım

Bağlama öğesinin bağlamının ve kanal dinleyicilerini ve fabrikalarını oluşturma işlevselliğinin bir parçası olarak bir koruma düzeyi ve değişim mekanizması 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 bir 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. A ContextBindingElement herhangi bir yapılandırma seçeneği gerektirmez ve , IRequestSessionChannelve IDuplexSessionChanneliçin IRequestChannelkanal fabrikaları oluşturabilir. Ayrıca , IReplySessionChannelve IDuplexSessionChanneliçin IReplyChannelkanal dinleyicileri oluşturabilir. Bağlam kanalı kanal arabirimini değiştirmez; temel alınan 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

ile oturum tabanlı bağlama oluşturulursa ContextBindingElement ve öğesini belirtenNotAllowedSessionMode = 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." Oturum tabanlı bir kanala Allowed ayarlamalısınız SessionMode veya Required kullanmamalısınız.

Özel bağlama oluştururken, varsa herhangi bir güvenilirlik ve güvenlik bağlaması öğesi eklemeden önce öğesini özel bağlamaya eklemeniz ContextBindingElementBindingElementCollection ö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)

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

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism)

Sınıfın ContextBindingElement yeni bir örneğini belirtilen koruma düzeyi ve değişim mekanizmasıyla başlatır.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri)

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

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean)

Sınıfın ContextBindingElement yeni bir örneğini 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 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 öğesinin 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 fabrika yığınını oluşturur.

BuildChannelListener<TChannel>(BindingContext)

Belirtilen bağlam için belirtilen kanal türünü kabul eden istemcide kanal dinleyici 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ı belirten 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ı belirten bir değer döndürür.

Clone()

Geçerli nesneden başlatılan yeni ContextBindingElement bir nesne 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()

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

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

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

Şunlara uygulanır