Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Catatan
Artikel ini khusus untuk .NET Framework. Ini tidak berlaku untuk implementasi .NET yang lebih baru, termasuk .NET 6 dan versi yang lebih baru.
Asisten penelusuran kesalahan terkelola (MDA) disconnectedContext diaktifkan ketika CLR mencoba bertransisi ke apartemen atau konteks yang terputus saat melayani permintaan mengenai objek COM.
Gejala
Panggilan yang dilakukan pada Runtime Callable Wrapper (RCW) dikirimkan ke komponen COM yang mendasarinya di apartemen atau konteks saat ini, bukan di apartemen atau konteks yang telah memilikinya. Hal ini dapat menyebabkan kerusakan dan atau kehilangan data jika komponen COM tidak bersifat multirangkaian, seperti halnya dalam kasus komponen apartemen satu rangkaian (STA). Atau, jika RCW itu sendiri adalah proksi, panggilan dapat mengakibatkan penampilan COMException dengan HRESULT RPC_E_WRONG_THREAD.
Penyebab
Apartemen OLE atau konteks telah ditutup ketika CLR mencoba untuk bertransisi ke dalamnya. Hal ini paling sering disebabkan karena apartemen STA yang ditutup sebelum semua komponen COM yang dimiliki oleh apartemen benar-benar dilepas. Ini dapat terjadi sebagai akibat dari panggilan eksplisit dari kode pengguna pada RCW atau sementara CLR itu sendiri memanipulasi komponen COM, misalnya ketika CLR melepaskan komponen COM ketika RCW terkait telah dibebaskan memorinya.
Resolusi
Untuk menghindari masalah ini, pastikan alur yang memiliki STA tidak dihentikan sebelum aplikasi selesai melepas semua objek yang berada dalam apartemen. Hal yang sama berlaku untuk konteks; pastikan konteks tidak dimatikan sebelum aplikasi benar-benar selesai melepas semua komponen COM yang berada dalam konteks.
Efek pada Runtime
MDA ini tidak berpengaruh pada runtime bahasa umum. MDA ini hanya melaporkan data tentang konteks yang terputus.
Output
Melaporkan cookie konteks dari apartemen atau konteks yang terputus.
Konfigurasi
<mdaConfig>
<assistants>
<disconnectedContext />
</assistants>
</mdaConfig>