MethodBase.IsSecuritySafeCritical Proprietà

Definizione

Ottiene un valore che indica se il metodo o il costruttore corrente è security-safe-critical al livello di attendibilità corrente, vale a dire se può eseguire operazioni critiche ed essere richiamato da codice trasparente.

public:
 virtual property bool IsSecuritySafeCritical { bool get(); };
public virtual bool IsSecuritySafeCritical { get; }
member this.IsSecuritySafeCritical : bool
Public Overridable ReadOnly Property IsSecuritySafeCritical As Boolean

Valore della proprietà

true se il metodo o costruttore corrente è security-safe-critical al livello di attendibilità corrente; false se è critico per la sicurezza o trasparente.

Commenti

Le IsSecurityCriticalproprietà , IsSecuritySafeCriticale IsSecurityTransparent segnalano il livello di trasparenza del metodo o del costruttore a livello di trust corrente, come determinato dal common language runtime (CLR). Le combinazioni di queste proprietà sono visualizzate nella tabella seguente:

Livello di sicurezza IsSecurityCritical IsSecuritySafeCritical IsSecurityTransparent
Critico true false false
Sicurezza critica true true false
Modalità trasparente false false true

L'uso di queste proprietà è molto più semplice rispetto all'esame delle annotazioni di sicurezza di un assembly e dei relativi tipi e membri, il controllo del livello di attendibilità corrente e il tentativo di duplicare le regole del runtime.

Importante

Per gli assembly di attendibilità parziale, 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 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 di attendibilità parziale solo quando tale assembly viene caricato in un dominio applicazione completamente attendibile, ad esempio nel dominio dell'applicazione predefinito di un'applicazione desktop. Al contrario, un assembly attendibile ,ovvero un assembly denominato 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 attendibile. È possibile determinare i livelli di attendibilità correnti degli assembly e dei domini dell'applicazione usando le Assembly.IsFullyTrusted proprietà e AppDomain.IsFullyTrusted .

Per altre informazioni sulla reflection e sulla trasparenza, vedere Considerazioni sulla sicurezza per reflection. Per informazioni sulla trasparenza, vedere Modifiche alla sicurezza.

Si applica a

Vedi anche