PermissionSet.Assert Method


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. Using Assert() can create security vulnerabilities.

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



The PermissionSet instance asserted has not been granted to the asserting code.


There is already an active Assert() for the current frame.


This is the only way to assert multiple permissions at the same time within a frame because only one Assert can be active on a frame. Assert is only effective for granted permissions. Call the CodeAccessPermission.RevertAssert or CodeAccessPermission.RevertAll method to cancel an active Assert.


Because calling the Assert method removes the requirement that all code in the call chain must be granted permission to access the specified resource, it can open up security vulnerabilities if used incorrectly or inappropriately. Therefore, it should be used with great caution.

Applies to

See also