CodeAccessPermission.Assert Método

Definição

Declara que o código de chamada pode acessar o recurso protegido por uma demanda de permissão por meio do código que chama esse método, mesmo que os chamadores mais altos na pilha não tenham recebido permissão para acessar o recurso. O uso Assert() pode criar problemas de segurança.

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

Implementações

Exceções

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

-ou-

Já há um ativo Assert() para o quadro atual.

Comentários

Normalmente, a pilha de chamadas é representada como crescente, de modo que os métodos mais altos nos métodos de chamada de pilha de chamadas sejam mais baixos na pilha de chamadas. A chamada Assert impede que uma caminhada de pilha originária inferior na pilha de chamadas prossiga para cima da pilha de chamadas além do código que chama esse método. Portanto, mesmo que os chamadores mais altos na pilha de chamadas não tenham as permissões necessárias para acessar um recurso, eles ainda poderão acessá-lo por meio do código que chama esse método na permissão necessária. Uma asserção só será efetiva se o código que chama Assert passar a verificação de segurança para a permissão que ele está afirmando.

A chamada será Assert efetiva até que o código de chamada retorne ao chamador. Somente um Assert pode estar ativo em um quadro. Uma tentativa de chamar Assert quando um ativo Assert existe no quadro resulta em um SecurityException. Chamar RevertAssert ou RevertAll remover um ativo Assert.

Assert é ignorado para uma permissão não concedida porque uma demanda por essa permissão não será bem-sucedida. No entanto, se o código menor na pilha de chamadas chamar Demand essa permissão, um SecurityException será gerado quando o passo a passo 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 tentado Assert .

Caution

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 problemas de segurança se usado incorretamente ou inadequadamente. Portanto, ele deve ser usado com muita cautela.

Notas aos Herdeiros

Você não pode substituir esse método.

Aplica-se a

Confira também