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 也是如此。 调用堆栈通常表示为向下增长,因此调用堆栈调用方法中的方法越低。

适用于