Bagikan melalui


TypeBuilder.IsSecurityCritical Properti

Definisi

Mendapatkan nilai yang menunjukkan apakah jenis saat ini kritis terhadap keamanan atau kritis keamanan, dan karenanya dapat melakukan operasi penting.

public:
 virtual property bool IsSecurityCritical { bool get(); };
public override bool IsSecurityCritical { get; }
member this.IsSecurityCritical : bool
Public Overrides ReadOnly Property IsSecurityCritical As Boolean

Nilai Properti

true jika jenis saat ini adalah kritis keamanan atau keamanan-aman-kritis; false jika transparan.

Pengecualian

Jenis dinamis saat ini belum dibuat dengan memanggil CreateType() metode .

Keterangan

Properti IsSecurityCritical, IsSecuritySafeCritical, dan IsSecurityTransparent melaporkan tingkat transparansi jenis , seperti yang ditentukan oleh runtime bahasa umum (CLR). Kombinasi properti ini diperlihatkan dalam tabel berikut:

Tingkat keamanan IsSecurityCritical IsSecuritySafeCritical IsSecurityTransparent
Kritis true false false
Sangat 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.

Runtime mulai mengevaluasi tingkat transparansi di perakitan. Misalnya, jika rakitan dinamis sangat penting bagi keamanan, anotasi pada jenis diabaikan, dan semua jenis sangat penting bagi keamanan.

Secara default, rakitan dinamis mewarisi transparansi assembly yang memancarkannya. Anda dapat mengambil alih default ini dengan menggunakan AppDomain.DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>)metode , , AppDomain.DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Boolean, IEnumerable<CustomAttributeBuilder>)atau AppDomain.DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean, IEnumerable<CustomAttributeBuilder>) kelebihan beban dan menentukan atribut keamanan. Anda tidak dapat meningkatkan tingkat keamanan dengan melakukan ini; artinya, kode transparan tidak dapat memancarkan kode kritis keamanan atau keamanan-aman-kritis. Atribut harus ditentukan ketika rakitan dinamis dibuat, atau tidak berlaku sampai rakitan disimpan ke disk dan dimuat ulang.

Catatan

Pewarisan default terbatas pada evaluasi transparansi runtime. Tidak ada atribut yang diterapkan ke rakitan dinamis. Jika ingin menambahkan atribut keamanan, Anda harus menerapkannya sendiri.

Untuk informasi selengkapnya tentang pancaran pantulan dan transparansi, lihat Masalah Keamanan dalam Pancaran Pancaran. Untuk informasi tentang transparansi, lihat Perubahan Keamanan.

Berlaku untuk

Lihat juga