CodeAccessPermission.Assert Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.