IContextManager.Enabled Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
ContextMessagePropertydalam pesan keluar melemparkanInvalidOperationException.Jika pesan diterima dari server dengan konteks, ketika saluran sudah diinisialisasi dengan konteks yang
ProtocolExceptiondilemparkan. Perhatikan bahwa Anda dapat menerima konteks awal dari server jika saluran dibuka tanpa mengatur konteks secara eksplisit.Pada
ContextMessagePropertypesan masuk selalunull.
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 |