Поделиться через


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 это разрешение. Стек вызовов обычно представлен как растущий вниз, поэтому методы выше в стеке вызовов вызывают методы ниже в стеке вызовов.

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