clr tümleştirme programlama modeli kısıtlamaları
Yönetilen saklı yordam ya da diğer yönetilen veritabanı nesnesi oluştururken, orada kod denetimleri tarafından gerçekleştirilen bazı SQL Serverdikkate alınması gerekir. SQL ServerVeritabanı, ilk kaydedildiğinde yönetilen kod derleme denetler kullanarak CREATE ASSEMBLYdeyimi ve de zamanında. Yönetilen kod derleme içinde olabilir çünkü aslında çalışma zamanında ulaşmış kod yolları, çalışma zamanında da kontrol edilir. Bu esneklik sağlar, bu derleme olmaz ki üçüncü derlemeler, özellikle kayıt yeri engellenen orada 'güvensiz' kod istemci ortamında çalışacak biçimde tasarlanmış ama asla barındırılan clr içinde yürütülecek. Yönetilen kod yerine getirmesi gereken gereksinimleri olup derleme olarak kayıtlı üzerinde bağlıdır SAFE, EXTERNAL_ACCESS, ya UNSAFE, SAFE sıkı olmak ve aşağıda listelenmiştir.
Yönetilen kod birleştirmeleri konuyor kısıtlamaları yanı sıra, ayrıca verilen kod güvenlik izinleri vardır. Ortak dil çalışma zamanı (clr), yönetilen kod için kod erişim güvenliği (cas) adı verilen bir güvenlik modelini destekler. Bu modelde, kod kimliğini alarak birleştirmeler izinler verilir. SAFE, EXTERNAL_ACCESS, ve UNSAFEderlemeler farklı CA'lar izniniz. Daha fazla bilgi için, bkz. clr tümleştirme kod erişimi güvenliği.
DERLEMESİ çekleri oluşturmak
Ne zaman CREATE ASSEMBLYdeyimi çalıştırmak, her bir güvenlik düzeyi için aşağıdaki denetimleri gerçekleştirilir. Eğer birisi başarısız olursa, kontrol CREATE ASSEMBLYbir hata iletisiyle başarısız olur.
Global (herhangi bir güvenlik düzeyi)
Tüm başvurulan derlemeler, bir veya daha aşağıdaki ölçütleri karşılamalıdır:
Derleme zaten veritabanında kayıtlı.
Derleme desteklenen derlemeler biridir. Daha fazla bilgi için, bkz. Desteklenen.net Framework kitaplıkları.
Kullandığınız CREATE ASSEMBLY FROM <location>,ve başvurulan derlemeler ve bağımlılıklarını kullanılabilir <location>.
Kullandığınız CREATE ASSEMBLY FROM <bytes …>,ve tüm başvurular belirtilen boşluk ile ayrılmış bayt.
EXTERNAL_ACCESS
Tüm EXTERNAL_ACCESSderlemeler şu ölçütleri karşılaması gerekir:
Statik alanlar bilgileri depolamak için kullanılır. Salt statik alanlar izin verilir.
PEVerify testi geçer. MSIL kodu ve ilişkili metadata uyan hangi kontrol tipi emniyet gereklerini, PEVerify aracı (peverify.exe) ile sağlanır.net Framework sdk.
Eşitleme, örneğin ile SynchronizationAttributesınıf, kullanılmaz.
Finalizer yöntemleri kullanılır.
Aşağıdaki özel öznitelikler içinde verilmeyen EXTERNAL_ACCESSderlemeler:
System.ContextStaticAttribute
System.STAThreadAttribute
System.Runtime.CompilerServices.MethodImplAttribute
System.Runtime.CompilerServices.CompilationRelaxationsAttribute
System.Runtime.Remoting.Contexts.ContextAttribute
System.Runtime.Remoting.Contexts.SynchronizationAttribute
System.Runtime.InteropServices.DllImportAttribute
System.Security.Permissions.CodeAccessSecurityAttribute
System.Security.SuppressUnmanagedCodeSecurityAttribute
System.Security.UnverifiableCodeAttribute
System.MTAThreadAttribute
System.ThreadStaticAttribute
KASA
- Tüm EXTERNAL_ACCESSderleme koşullar denetlenir.
Çalışma Zamanı denetimleri
Çalışma zamanında kod derleme için aşağıdaki koşullar denetlenir. Bu koşullardan herhangi biri bulunursa, yönetilen kod çalıştırmasına izin verilmez ve bir özel durum.
GÜVENSİZ
Derleme yükleme — açıkça arayarak ya da System.Reflection.Assembly.Load()yöntemi bir bayt dizisi veya örtülü, Reflection.Emitad — verilmez.
EXTERNAL_ACCESS
Tüm UNSAFEkoşullar denetlenir.
Tüm türleri ve desteklenen derlemeler listesinde aşağıdaki ana bilgisayar koruma özniteliği (hpa) değerleri ile açıklamalı yöntemleri izin verilmez.
SelfAffectingProcessMgmt
SelfAffectingThreading
Eşitleme
SharedState
ExternalProcessMgmt
ExternalThreading
SecurityInfrastructure
MayLeakOnAbort
UI
HPAs ve izin verilmeyen türleri ve Üyeler'de desteklenen derlemeler listesi hakkında daha fazla bilgi için bkz: Ana bilgisayar koruması öznitelikleri ve clr tümleştirme programlama.
KASA
Tüm EXTERNAL_ACCESSkoşullar denetlenir.
Ayrıca bkz.
Kavramlar
Desteklenen.net Framework kitaplıkları
clr tümleştirme kod erişimi güvenliği
Ana bilgisayar koruması öznitelikleri ve clr tümleştirme programlama