Aracılığıyla paylaş


IContextManager.Enabled Özellik

Tanım

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

public:
 property bool Enabled { bool get(); void set(bool value); };
public bool Enabled { get; set; }
member this.Enabled : bool with get, set
Public Property Enabled As Boolean

Özellik Değeri

true bağlam etkinleştirildiyse; aksi takdirde , false.

Açıklamalar

Bağlam yönetimi etkinleştirildiğinde bağlam kanalı bağlamı ömrü boyunca önbelleğe alır. Bağlam kanal özelliği üzerinden IContextManager kanalda yöntemini çağırarak GetContext alınabilir. Kanal özelliğinde yöntemi çağrılarak SetContext açılmadan önce kanal bağlamla önceden başlatılabilir. Kanal, bağlamla başlatıldıktan sonra yeniden ayarlanamaz.

Bu modda sabit öğeler şunlardır:

  • Kanal açıldıktan sonra yapılan tüm çağrılar SetContext bir InvalidOperationExceptionoluşturur.

  • Giden iletide aracılığıyla ContextMessageProperty bağlam gönderme girişimi oluşturur InvalidOperationException.

  • Sunucudan bağlam içeren bir ileti alınırsa, kanal bir bağlamla zaten başlatıldığında bir ProtocolException oluşturulur. Kanal açıkça ayarlanmadan açıldığında sunucudan ilk bağlamı alabileceğinizi unutmayın.

  • ContextMessageProperty Gelen iletinin üzerindeki her zaman nullşeklindedir.

Bağlam yönetimi etkinleştirilmediğinde bağlam kanalı bağlamı yönetmez. aracılığıyla bağlamı almak, yönetmek ve uygulamak uygulamanın sorumluluğundadır ContextMessageProperty. Kanal özelliği aracılığıyla IContextManager çağrı GetContext veya SetContext kullanma girişimleri ile sonuçilirInvalidOperationException.

Bağlam HTTP tanımlama bilgileri dışındaki tüm HTTP tanımlama bilgileri kanal düzeyinde işlenir. Bağlam HTTP tanımlama bilgileri uygulama düzeyinde yönetilir. Kanallar tarafından ContextMessagePropertyhedeflenen farklı örneklerle konuşmak üzere paylaşıldığında bu beklenmeyen sonuçlara neden olabilir. Aşağıdaki tabloda, veya falseolarak ayarlandığında true HTTP tanımlama bilgilerinin nasıl etkilendiği Enabled gösterilmektedir.

Binding IContextManager.Enabled Value Bağlam HTTP Tanımlama Bilgisi Kapsamı Diğer HTTP Tanımlama Bilgileri Kapsamı
TemelHttpBinding Yok Channelfactory Channelfactory
TemelHttpContextBinding doğru Kanal Kanal
TemelHttpContextBinding false Her ileti için (uygulama tarafından açıkça yönetilir) Kanal

Şunlara uygulanır