DynamicMethod.IsSecurityTransparent 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 nilai yang menunjukkan apakah metode dinamis saat ini transparan pada tingkat kepercayaan saat ini, dan karenanya tidak dapat melakukan operasi penting.
public:
virtual property bool IsSecurityTransparent { bool get(); };
public override bool IsSecurityTransparent { get; }
member this.IsSecurityTransparent : bool
Public Overrides ReadOnly Property IsSecurityTransparent As Boolean
Nilai Properti
true
jika metode dinamis transparan keamanan pada tingkat kepercayaan saat ini; jika tidak, false
.
Pengecualian
Metode dinamis tidak memiliki isi metode.
Keterangan
Properti IsSecurityCritical, IsSecuritySafeCritical, dan IsSecurityTransparent melaporkan tingkat transparansi metode dinamis sebagaimana ditentukan oleh runtime bahasa umum (CLR). Kombinasi properti ini diperlihatkan dalam tabel berikut:
Tingkat keamanan | IsSecurityCritical | IsSecuritySafeCritical | IsSecurityTransparent |
---|---|---|---|
Kritis | true |
false |
false |
Kritis aman | true |
true |
false |
Transparan | false |
false |
true |
Menggunakan properti ini jauh lebih sederhana daripada memeriksa anotasi keamanan rakitan dan jenisnya, memeriksa tingkat kepercayaan saat ini, dan mencoba menduplikasi aturan runtime.
Transparansi metode dinamis tergantung pada modul yang terkait dengannya. Jika metode dinamis dikaitkan dengan jenis daripada modul, transparansinya tergantung pada modul yang berisi jenis . Metode dinamis tidak memiliki anotasi keamanan, sehingga diberi transparansi default untuk modul terkait.
Metode dinamis yang dihosting secara anonim selalu transparan, karena modul yang disediakan sistem yang berisi metode tersebut transparan.
Transparansi metode dinamis yang terkait dengan rakitan tepercaya (yaitu, rakitan bernama kuat yang diinstal dalam cache perakitan global) dijelaskan dalam tabel berikut.
Anotasi perakitan Transparansi tingkat 1 Transparansi tingkat 2 Sepenuhnya transparan Transparan Transparan Sepenuhnya kritis Kritis Kritis Transparansi campuran Transparan Transparan Keamanan-agnostik Sangat aman Kritis Misalnya, jika Anda mengaitkan metode dinamis dengan jenis yang ada di mscorlib.dll, yang memiliki transparansi campuran tingkat 2, metode dinamis transparan dan tidak dapat menjalankan kode penting. Untuk informasi tentang tingkat transparansi, lihat Kode Transparan Keamanan, Tingkat 1 dan Kode Transparan Keamanan, Tingkat 2.
Catatan
Mengaitkan metode dinamis dengan modul dalam rakitan tingkat 1 tepercaya yang agnostik keamanan, seperti System.dll, tidak mengizinkan peningkatan kepercayaan. Jika sekumpulan kode pemberian yang memanggil metode dinamis tidak menyertakan set pemberian System.dll (yaitu, kepercayaan penuh), SecurityException dilemparkan ketika metode dinamis dipanggil.
Transparansi metode dinamis yang terkait dengan rakitan tepercaya sebagian tergantung pada bagaimana perakitan dimuat. Jika rakitan dimuat dengan kepercayaan parsial (misalnya, ke domain aplikasi terkotakpasir), runtime mengabaikan anotasi keamanan rakitan. Perakitan dan semua jenis dan anggotanya, termasuk metode dinamis, diperlakukan sebagai transparan. Runtime memperhatikan anotasi keamanan hanya jika rakitan kepercayaan parsial dimuat dengan kepercayaan penuh (misalnya, ke domain aplikasi default aplikasi desktop). Dalam hal ini, runtime menetapkan metode dinamis transparansi default untuk metode sesuai dengan anotasi assembly.
Untuk informasi selengkapnya tentang pancaran pantulan dan transparansi, lihat Masalah Keamanan dalam Pancaran Pancaran. Untuk informasi tentang transparansi, lihat Perubahan Keamanan.