CodeAccessPermission.Assert Método

Definição

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 este método, mesmo que os chamadores na pilha não tenham recebido permissão para acessar o recurso.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. Usar Assert() pode criar problemas de segurança.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 ()

Implementações

Atributos

Exceções

O código de chamada não tem Assertion.The calling code does not have Assertion.

- ou --or- Já existe um Assert() ativo para o quadro atual.There is already an active Assert() for the current frame.

Comentários

A pilha de chamadas normalmente é representada como crescendo, para que os métodos mais altos nos métodos de chamada da pilha de chamadas sejam menores na pilha de chamadas.The call stack is typically represented as growing down, so that methods higher in the call stack call methods lower in the call stack. Chamar Assert impede que uma movimentação de pilha que se origine mais abaixo na pilha de chamadas continue a pilha de chamadas além do código que chama esse método.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. Portanto, mesmo se os chamadores mais altos na pilha de chamadas não tiverem 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.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. Uma asserção será eficaz somente se o código que chama Assert passar a verificação de segurança para a permissão que ela está declarando.An assertion is effective only if the code that calls Assert passes the security check for the permission that it is asserting.

A chamada para Assert entrará em vigor até que o código de chamada retorne ao seu chamador.The call to Assert is effective until the calling code returns to its caller. Somente um Assert pode estar ativo em um quadro.Only one Assert can be active on a frame. Uma tentativa de chamar Assert quando existe uma Assert ativa no quadro resulta em uma SecurityException.An attempt to call Assert when an active Assert exists on the frame results in a SecurityException. Chame RevertAssert ou RevertAll para remover um Assertativo.Call RevertAssert or RevertAll to remove an active Assert.

Assert é ignorado para uma permissão não concedida porque uma demanda por essa permissão não terá sucesso.Assert is ignored for a permission not granted because a demand for that permission will not succeed. No entanto, se o código inferior na pilha de chamadas chamar Demand para essa permissão, uma SecurityException será gerada quando a movimentação da pilha atingir o código que tentou chamar Assert.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. Isso acontece porque o código que chamou Assert não recebeu a permissão, embora tenha tentado Assert-la.This happens because the code that called Assert has not been granted the permission, even though it tried to Assert it.

Cuidado

Como chamar Assert remove o requisito de que todo o código na cadeia de chamadas deve receber permissão para acessar o recurso especificado, ele poderá abrir problemas de segurança se for usado incorretamente ou inadequadamente.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. Portanto, deve ser usado com muito cuidado.Therefore, it should be used with great caution.

Notas aos Herdeiros

Não é possível substituir esse método.You cannot override this method.

Segurança

SecurityPermission
para a capacidade de chamar Assert().for the ability to call Assert(). Enumeração associada: AssertionAssociated enumeration: Assertion

Aplica-se a

Veja também