IStackWalk.PermitOnly Метод

Определение

Вызывает сбой всех Demand() для всех объектов, кроме текущего, проходящих через вызывающий код, даже если коду выше в стеке вызовов было предоставлено разрешение на доступ к другим ресурсам.

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

Комментарии

PermitOnly аналогично Deny, в том, что оба приводят к стеку сбой, когда они в противном случае будут успешными. Разница заключается в том, что Deny указывает разрешения, которые приведут к сбою пошагового выполнения стека, но PermitOnly указывают только те разрешения, которые не приводят к сбою пошагового выполнения стека. Вызовите этот метод, чтобы убедиться, что код можно использовать для доступа только к указанным ресурсам.

PermitOnly игнорируется для разрешения, не предоставленного, так как запрос на это разрешение не будет успешным. Однако если код ниже в стеке вызовов позже вызывает Demand это разрешение, возникает SecurityException исключение, когда пошаговые инструкции по стеку достигают кода, который пытался вызвать PermitOnly. Это связано с тем, что вызываемый PermitOnly код не был предоставлен разрешение, даже если он вызвал PermitOnly это разрешение. Стек вызовов обычно представлен как растущий, поэтому методы выше в методах вызова стека вызовов вызовов ниже в стеке вызовов.

Применяется к