Type.IsSecurityCritical Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene un valore che indica se il tipo corrente è SecurityCritical o SecuritySafeCritical al livello di attendibilità corrente e può pertanto eseguire operazioni critiche.
public:
virtual property bool IsSecurityCritical { bool get(); };
public virtual bool IsSecurityCritical { get; }
member this.IsSecurityCritical : bool
Public Overridable ReadOnly Property IsSecurityCritical As Boolean
Valore della proprietà
true
se il tipo corrente è critico per la sicurezza o critico per la sicurezza al livello di attendibilità corrente; false
se è trasparente.
Commenti
Le IsSecurityCriticalproprietà , IsSecuritySafeCriticale IsSecurityTransparent segnalano il livello di trasparenza del tipo al livello di attendibilità corrente, come determinato da Common Language Runtime (CLR). Le combinazioni di queste proprietà sono illustrate nella tabella seguente:
Livello di sicurezza | IsSecurityCritical | IsSecuritySafeCritical | IsSecurityTransparent |
---|---|---|---|
Critico | true |
false |
false |
Critico sicuro | true |
true |
false |
Modalità trasparente | false |
false |
true |
Usare queste proprietà è molto più semplice che non esaminare le annotazioni di sicurezza di un assembly e dei suoi tipi, controllare il livello di attendibilità corrente e tentare di duplicare le regole del runtime.
Importante
Per gli assembly parzialmente attendibili, il valore di questa proprietà dipende dal livello di attendibilità corrente dell'assembly. Se l'assembly viene caricato in un dominio applicazione parzialmente attendibile , ad esempio in un dominio dell'applicazione in modalità sandbox, il runtime ignora le annotazioni di sicurezza dell'assembly. L'assembly e tutti i relativi tipi vengono considerati trasparenti. Il runtime presta attenzione alle annotazioni di sicurezza di un assembly parzialmente attendibile solo quando tale assembly viene caricato in un dominio applicazione completamente attendibile, ad esempio nel dominio applicazione predefinito di un'applicazione desktop. Al contrario, un assembly attendibile , ovvero un assembly con nome sicuro installato nella Global Assembly Cache, viene sempre caricato con attendibilità completa indipendentemente dal livello di attendibilità del dominio applicazione, quindi il livello di attendibilità corrente è sempre completamente attendibile. È possibile determinare i livelli di attendibilità correnti di assembly e domini applicazione usando le Assembly.IsFullyTrusted proprietà e AppDomain.IsFullyTrusted .
Per altre informazioni sulla reflection e sulla trasparenza, vedere Considerazioni sulla sicurezza per la reflection. Per informazioni sulla trasparenza, vedere Modifiche alla sicurezza.