CodeAccessPermission.Assert CodeAccessPermission.Assert CodeAccessPermission.Assert CodeAccessPermission.Assert Method

Definizione

Dichiara che il codice chiamante può accedere alla risorsa protetta da una richiesta di autorizzazione tramite il codice che chiama il metodo, anche se ai chiamanti più in alto nello stack non è stata concessa l'autorizzazione per accedere alla risorsa.Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. Se si utilizza Assert() è possibile creare problemi di sicurezza.Using Assert() can create security issues.

public:
 void Assert();
[System.Diagnostics.Conditional("FEATURE_MONO_CAS")]
public void Assert ();
member this.Assert : unit -> unit
Public Sub Assert ()

Implementazioni

Eccezioni

Il codice chiamante non ha Assertion.The calling code does not have Assertion.

In alternativa-or- Esiste già un oggetto Assert() attivo per il fotogramma corrente.There is already an active Assert() for the current frame.

Commenti

Lo stack di chiamate viene in genere rappresentato come crescente, in modo che i metodi più elevati nei metodi di chiamata dello stack di chiamate siano inferiori nello stack di chiamate.The call stack is typically represented as growing down, so that methods higher in the call stack call methods lower in the call stack. La Assert chiamata a impedisce a un percorso stack che ha origine in un livello inferiore nello stack di chiamate di continuare lo stack di chiamate oltre il codice che chiama questo metodo.Calling Assert prevents a stack walk originating lower in the call stack from proceeding up the call stack beyond the code that calls this method. Pertanto, anche se i chiamanti più in alto nello stack di chiamate non hanno le autorizzazioni necessarie per accedere a una risorsa, possono comunque accedervi tramite il codice che chiama questo metodo sull'autorizzazione necessaria.Therefore, even if callers higher on the call stack do not have the requisite permissions to access a resource, they can still access it through the code that calls this method on the necessary permission. Un'asserzione è efficace solo se il codice che Assert chiama passa il controllo di sicurezza per l'autorizzazione che sta asserindo.An assertion is effective only if the code that calls Assert passes the security check for the permission that it is asserting.

La chiamata a Assert è valida fino a quando il codice chiamante non torna al chiamante.The call to Assert is effective until the calling code returns to its caller. Solo uno Assert può essere attivo in un frame.Only one Assert can be active on a frame. Un tentativo di chiamare Assert quando esiste un Assert oggetto attivo nel frame restituisce un SecurityExceptionoggetto.An attempt to call Assert when an active Assert exists on the frame results in a SecurityException. Chiamare RevertAssert Asserto RevertAll per rimuovere un oggetto attivo.Call RevertAssert or RevertAll to remove an active Assert.

Assertviene ignorato per un'autorizzazione non concessa perché una richiesta di tale autorizzazione avrà esito negativo.Assert is ignored for a permission not granted because a demand for that permission will not succeed. Tuttavia, se il codice inferiore nello stack di chiamate Demand chiama tale autorizzazione, viene SecurityException generata un'eccezione quando il percorso dello stack raggiunge il codice che ha Asserttentato di chiamare.However, if code lower on the call stack calls Demand for that permission, a SecurityException is thrown when the stack walk reaches the code that tried to call Assert. Ciò si verifica perché al codice che Assert ha chiamato non è stata concessa l'autorizzazione, anche se Assert è stato eseguito un tentativo.This happens because the code that called Assert has not been granted the permission, even though it tried to Assert it.

Attenzione

Poiché la Assert chiamata a rimuove il requisito per il quale a tutto il codice nella catena di chiamate deve essere concessa l'autorizzazione per accedere alla risorsa specificata, è possibile che si verifichino problemi di sicurezza se usati in modo errato o non appropriato.Because calling Assert removes the requirement that all code in the call chain must be granted permission to access the specified resource, it can open up security issues if used incorrectly or inappropriately. Pertanto, è consigliabile utilizzarlo con molta cautela.Therefore, it should be used with great caution.

Note per gli eredi

Non è possibile eseguire l'override di questo metodo.You cannot override this method.

Sicurezza

SecurityPermission
per la possibilità di chiamare Assert().for the ability to call Assert(). Enumerazione associata:AssertionAssociated enumeration: Assertion

Si applica a

Vedi anche