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
Saat manajemen konteks diaktifkan, saluran konteks menyimpan konteks dalam masa pakainya. Konteks dapat diambil dari saluran melalui IContextManager
properti saluran dengan memanggil GetContext metode di dalamnya. Saluran juga dapat diinisialisasi sebelumnya dengan konteks sebelum dibuka dengan memanggil SetContext metode pada properti saluran. Setelah saluran diinisialisasi dengan konteks, saluran tidak dapat diatur ulang.
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 akan melemparkanInvalidOperationException
.Jika pesan diterima dari server dengan konteks, ketika saluran sudah diinisialisasi dengan konteks
ProtocolException
yang dilemparkan. Perhatikan bahwa Anda dapat menerima konteks awal dari server jika saluran dibuka tanpa mengatur konteks secara eksplisit.Pada
ContextMessageProperty
pesan masuk selalunull
.
Saat manajemen konteks tidak diaktifkan, saluran konteks tidak mengelola konteks. Aplikasi bertanggung jawab 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 di 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 atau true
false
.
Pengikatan | Nilai IContextManager.Enabled | Cakupan Cookie HTTP Konteks | Cakupan Cookie HTTP Lainnya |
---|---|---|---|
BasicHttpBinding | n/a | ChannelFactory | ChannelFactory |
BasicHttpContextBinding | TRUE | Saluran | Saluran |
BasicHttpContextBinding | salah | Untuk setiap pesan (dikelola secara eksplisit oleh aplikasi) | Saluran |