MethodBase.IsSecurityCritical Egenskap

Definition

Hämtar ett värde som anger om den aktuella metoden eller konstruktorn är säkerhetskritisk eller säkerhetssäker på den aktuella förtroendenivån och därför kan utföra kritiska åtgärder.

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

Egenskapsvärde

true om den aktuella metoden eller konstruktorn är säkerhetskritisk eller säkerhetssäker på den aktuella förtroendenivån; false om den är transparent.

Kommentarer

Egenskaperna IsSecurityCritical, IsSecuritySafeCriticaloch IsSecurityTransparent rapporterar transparensnivån för metoden eller konstruktorn på den aktuella förtroendenivån, vilket bestäms av CLR (Common Language Runtime). Kombinationerna av dessa egenskaper visas i följande tabell:

Säkerhetsnivå ÄrSäkerhetskritisk IsSecuritySafeCritical IsSecurityTransparent
Kritisk true false false
Säker kritisk true true false
Transparent false false true

Att använda dessa egenskaper är mycket enklare än att undersöka säkerhetsanteckningarna för en sammansättning och dess typer och medlemmar, kontrollera den aktuella förtroendenivån och försöka duplicera körningsreglerna.

Important

För sammansättningar med partiellt förtroende beror värdet för den här egenskapen på den aktuella förtroendenivån för sammansättningen. Om sammansättningen läses in i en delvis betrodd programdomän (till exempel till en sandbox-programdomän) ignorerar körningen säkerhetsanteckningarna för sammansättningen. Sammansättningen och alla dess typer behandlas som transparenta. Körningen uppmärksammar säkerhetsanteckningarna för en partiell förtroendesammansättning endast när sammansättningen läses in i en fullständigt betrodd programdomän (till exempel i standardprogramdomänen för ett skrivbordsprogram). Däremot läses en betrodd sammansättning (dvs. en stark namngiven sammansättning som är installerad i den globala sammansättningscache) alltid in med fullständigt förtroende oavsett programdomänens förtroendenivå, så dess nuvarande förtroendenivå är alltid helt betrodd. Du kan fastställa de aktuella förtroendenivåerna för sammansättningar och programdomäner med hjälp Assembly.IsFullyTrusted av egenskaperna och AppDomain.IsFullyTrusted .

Mer information om reflektion och transparens finns i Säkerhetsöverväganden för reflektion. Information om transparens finns i Säkerhetsändringar.

Gäller för

Se även