Compartilhar via


IStackWalk.Assert Método

Definição

Declara que código de chamada pode acessar o recurso identificado pelo objeto de permissão atual, mesmo que os chamadores na pilha não tenham recebido permissão para acessar o recurso.

public:
 void Assert();
public void Assert ();
abstract member Assert : unit -> unit
Public Sub Assert ()

Exceções

O código de chamada não tem Assertion.

Comentários

A chamada Assert interrompe a permissão marcar em chamadores mais altos na pilha de chamadas. Portanto, mesmo que esses chamadores não tenham as permissões necessárias, eles ainda poderão acessar recursos. Uma asserção só será eficaz se o código que chama Assert passar a marcar de segurança para a permissão que ele está afirmando.

Uma chamada para Assert é eficaz até que o código de chamada retorne ao chamador ou até que uma chamada Assert subsequente torne a asserção anterior ineficaz. Além disso, RevertAssert ou RevertAll remove um pendente Assert.

Assert é ignorado para uma permissão não concedida porque uma demanda por essa permissão não terá êxito. No entanto, se o código mais baixo na pilha de chamadas chamar Demand essa permissão, um SecurityException será gerado quando a caminhada da pilha atingir o código que tentou chamar Assert. Isso acontece porque o código chamado Assert não recebeu a permissão, mesmo que ele tenha Assert tentado.

Cuidado

Como a chamada Assert remove o requisito de que todo o código na cadeia de chamadas deve receber permissão para acessar o recurso especificado, ele pode abrir vulnerabilidades de segurança se usado incorretamente ou inadequadamente. Portanto, ele deve ser usado com muita cautela.

Aplica-se a

Confira também