Bagikan melalui


IContextManager.Enabled Properti

Definisi

Mendapatkan atau menetapkan nilai yang menunjukkan apakah manajemen konteks diaktifkan.

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

Nilai Properti

true jika konteks diaktifkan; jika tidak, false.

Keterangan

Ketika manajemen konteks diaktifkan, saluran konteks akan menyimpan konteks dalam masa pakainya. Konteks dapat diambil dari saluran melalui IContextManager properti saluran dengan memanggil GetContext metode di atasnya. Saluran juga dapat diinisialisasi sebelumnya dengan konteks sebelum dibuka dengan memanggil SetContext metode pada properti saluran. Setelah saluran diinisialisasi dengan konteks, saluran tidak dapat direset.

Berikut ini adalah invarian dalam mode ini:

  • Setiap panggilan ke SetContext setelah saluran terbuka melempar InvalidOperationException.

  • Setiap upaya untuk mengirim konteks melalui ContextMessageProperty dalam pesan keluar melemparkan InvalidOperationException.

  • Jika pesan diterima dari server dengan konteks, ketika saluran sudah diinisialisasi dengan konteks yang ProtocolException dilemparkan. Perhatikan bahwa Anda dapat menerima konteks awal dari server jika saluran dibuka tanpa mengatur konteks secara eksplisit.

  • Pada ContextMessageProperty pesan masuk selalu null.

Ketika manajemen konteks tidak diaktifkan, saluran konteks tidak mengelola konteks. Adalah tanggung jawab aplikasi untuk mengambil, mengelola, dan menerapkan konteks melalui ContextMessageProperty. Setiap upaya untuk memanggil GetContext atau SetContext menggunakan melalui IContextManager properti saluran menghasilkan InvalidOperationException.

Semua cookie HTTP, kecuali untuk cookie HTTP konteks, ditangani di tingkat saluran. Cookie HTTP konteks dikelola pada tingkat aplikasi. Ini dapat memiliki konsekuensi tak terduga ketika saluran dibagikan untuk berbicara dengan instans yang berbeda yang ditargetkan oleh ContextMessageProperty. Tabel berikut menunjukkan bagaimana cookie HTTP terpengaruh ketika Enabled diatur ke true atau false.

Binding Nilai IContextManager.Enabled Cakupan Cookie HTTP Konteks Cakupan Cookie HTTP lainnya
BasicHttpBinding n/a ChannelFactory ChannelFactory
BasicHttpContextBinding benar Channel Channel
BasicHttpContextBinding salah Untuk setiap pesan (dikelola secara eksplisit oleh aplikasi) Channel

Berlaku untuk