CodeAccessPermission.Assert Metod

Definition

Deklarerar att den anropande koden kan komma åt resursen som skyddas av ett behörighetskrav via koden som anropar den här metoden, även om anropare högre i stacken inte har beviljats behörighet att komma åt resursen. Att använda Assert() kan skapa säkerhetsproblem.

public:
 virtual void Assert();
public void Assert();
abstract member Assert : unit -> unit
override this.Assert : unit -> unit
Public Sub Assert ()

Implementeringar

Undantag

Den anropande koden har Assertioninte .

-eller-

Det finns redan en aktiv Assert() för den aktuella ramen.

Kommentarer

Anropsstacken representeras vanligtvis som växande nedåt, så att metoderna högre i anropsstackens anropsmetoder är lägre i anropsstacken. Anrop Assert förhindrar att en stackvandring som kommer lägre i anropsstacken fortsätter upp i anropsstacken utöver koden som anropar den här metoden. Även om anropare högre på anropsstacken inte har de behörigheter som krävs för att få åtkomst till en resurs, kan de därför fortfarande komma åt den via koden som anropar den här metoden med nödvändig behörighet. Ett intyg gäller endast om koden som anropar Assert skickar säkerhetskontrollen för den behörighet som den hävdar.

Anropet till Assert gäller tills den anropande koden återgår till anroparen. Endast en Assert kan vara aktiv på en ram. Ett försök att anropa Assert när en aktiv Assert finns i ramen resulterar i en SecurityException. Anropa RevertAssert eller RevertAll ta bort en aktiv Assert.

Assert ignoreras för en behörighet som inte har beviljats eftersom ett krav för den behörigheten inte lyckas. Men om koden lägre på anropsstacken anropar Demand för den behörigheten utlöses en SecurityException när stackvandringen når koden som försökte anropa Assert. Detta beror på att koden som anropade Assert inte har beviljats behörigheten, även om den försökte Assert .

Caution

Eftersom anrop Assert tar bort kravet på att all kod i anropskedjan måste beviljas behörighet att komma åt den angivna resursen kan den öppna säkerhetsproblem om den används felaktigt eller olämpligt. Därför bör den användas med stor försiktighet.

Anteckningar till arvingar

Du kan inte åsidosätta den här metoden.

Gäller för

Se även