DynamicMethod.IsSecurityCritical Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli dinamik yöntemin güvenlik açısından kritik mi yoksa güvenlik açısından güvenli mi olduğunu belirten bir değer alır ve bu nedenle kritik işlemler gerçekleştirebilir.
public:
virtual property bool IsSecurityCritical { bool get(); };
public override bool IsSecurityCritical { get; }
member this.IsSecurityCritical : bool
Public Overrides ReadOnly Property IsSecurityCritical As Boolean
Özellik Değeri
true geçerli dinamik yöntem güvenlik açısından kritik veya güvenlik açısından güvenli-kritikse; false saydamsa.
Özel durumlar
Dinamik yöntemin bir yöntem gövdesi yoktur.
Açıklamalar
IsSecurityCritical, IsSecuritySafeCriticalve IsSecurityTransparent özellikleri, ortak dil çalışma zamanı (CLR) tarafından belirlenen dinamik yöntemin saydamlık düzeyini bildirir. Bu özelliklerin birleşimleri aşağıdaki tabloda gösterilmiştir:
| Güvenlik düzeyi | IsSecurityCritical | GüvenlikGüvenliKritikMi | IsSecurityTransparent |
|---|---|---|---|
| Critical | true |
false |
false |
| Emniyet kritik | true |
true |
false |
| Transparent | false |
false |
true |
Bu özelliklerin kullanılması, derlemenin ve türlerinin güvenlik ek açıklamalarını incelemek, geçerli güven düzeyini kontrol etmek ve çalışma zamanı kurallarını çoğaltmaya çalışmaktan çok daha basittir.
Dinamik bir yöntemin saydamlığı, ilişkili olduğu modüle bağlıdır. Dinamik yöntem modül yerine bir türle ilişkiliyse, saydamlığı türü içeren modüle bağlıdır. Dinamik yöntemlerin güvenlik ek açıklamaları yoktur, bu nedenle bunlara ilişkili modül için varsayılan saydamlık atanır.
Anonim olarak barındırılan dinamik yöntemler, bunları içeren sistem tarafından sağlanan modül saydam olduğundan her zaman saydamdır.
Güvenilir bir derlemeyle (yani, genel derleme önbelleğine yüklenen tanımlayıcı adlı bir derleme) ilişkili dinamik yöntemin saydamlığı aşağıdaki tabloda açıklanmıştır.
Derleme ek açıklaması Düzey 1 saydamlık Düzey 2 saydamlığı Tamamen saydam Transparent Transparent Tamamen kritik Critical Critical Karma saydamlık Transparent Transparent Güvenlik belirsiz Güvenlik açısından kritik Critical Örneğin, bir dinamik yöntemi düzey 2 karma saydamlığı olan mscorlib.dlliçindeki bir türle ilişkilendirirseniz, dinamik yöntem saydamdır ve kritik kodu yürütemez. Saydamlık düzeyleri hakkında bilgi için bkz. Security-Transparent Kod, Düzey 1 ve Security-Transparent Kodu, Düzey 2.
Note
Dinamik bir yöntemin, System.dllgibi güvenlik açısından bağımsız bir güvenilir düzey 1 derlemesindeki bir modülle ilişkilendirilmesi, güvenin yükseltilmesine izin vermez. Dinamik yöntemi çağıran kodun izin kümesi System.dll verme kümesini (tam güven) içermiyorsa, SecurityException dinamik yöntem çağrıldığında oluşturulur.
Kısmen güvenilen bir derlemeyle ilişkili dinamik yöntemin saydamlığı, derlemenin nasıl yüklendiğine bağlıdır. Bütünleştirilmiş kod kısmi güvenle yüklendiyse (örneğin, korumalı bir uygulama etki alanına yüklendiyse), çalışma zamanı derlemenin güvenlik ek açıklamalarını yoksayar. Derleme, dinamik yöntemler de dahil olmak üzere tüm türleri ve üyeleriyle birlikte saydam olarak değerlendirilir. Çalışma zamanı, yalnızca kısmi güvene sahip bir derleme tam güven altında yüklendiğinde (örneğin, bir masaüstü uygulamasının varsayılan uygulama etki alanına yüklendiğinde) güvenlik açıklamalarına dikkat eder. Bu durumda çalışma zamanı, derlemenin ek açıklamalarına uygun olarak dinamik yönteme varsayılan yöntem saydamlığını atar.
Yansıma yayma ve saydamlık hakkında daha fazla bilgi için bkz. Yansıma Yaymada Güvenlik Sorunları. Saydamlık hakkında bilgi için bkz . Güvenlik Değişiklikleri.
Şunlara uygulanır
Ayrıca bkz.
- IsSecuritySafeCritical
- IsSecurityTransparent
- Yansıma Yaymada Güvenlik Sorunları
- Yansıma için GüvenlikLe İlgili Dikkat Edilmesi Gerekenler
- .NET Framework Sürüm 4.0Güvenlik Değişiklikleri>
- Security-Transparent Kodu, Düzey 1
- Security-Transparent Kodu, Düzey 2