Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Método CodeAccessPermission.Assert

Declara que o código de chamada pode acessar o recurso protegido por uma demanda de permissão através do código que chama esse método, mesmo se os chamadores superiores na pilha não receberam permissão para acessar o recurso. Usando Assert pode criar problemas de segurança.

Namespace:  System.Security
Assembly:  mscorlib (em mscorlib.dll)

public void Assert()

Implementações

IStackWalk.Assert()

ExceçãoCondição
SecurityException

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

-  ou  -

Já existe um ativo Assert do quadro atual.

A pilha de chamadas geralmente é representada como crescente para baixo, para que métodos superiores na pilha de chamadas chamam métodos inferior na pilha de chamadas. Chamando Assert impede uma origem inferior na pilha de chamadas de prosseguir até a pilha de chamadas além do código que chama esse método na pilha. Portanto, mesmo se os chamadores superiores na pilha de chamadas não tem as permissões necessárias para acessar um recurso, eles ainda podem acessá-lo através do código que chama esse método a permissão necessária. Uma asserção é efetiva apenas se o código que chama Assert passa a verificação de segurança para a permissão está declarando.

A chamada para Assert é eficaz até que o código de chamada retorne para seu chamador. Apenas um Assert podem estar ativas em um quadro. Uma tentativa de chamar Assert quando um ativo Assert existe nos resultados de quadro em uma SecurityException. Call RevertAssert or RevertAll to remove an active Assert.

Assert é ignorada para uma permissão concedida não porque uma demanda para essa permissão não terá êxito. No entanto, se código inferior na pilha de chamada chama Demand para essa permissão, um SecurityException é lançada quando a stack walk atinge o código que tentou chamar Assert. Isso acontece porque o código chamado Assert não foi concedido a permissão, mesmo que ele tentou Assert -lo.

Observação de cuidadoCuidado

Porque chamar Assert remove o requisito de que todo o código na cadeia de chamada deve ser concedida 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.

Observações para herdeiros

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

.NET Framework

Com suporte em: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2015 Microsoft