IStackWalk.PermitOnly 方法

定義

會導致除通過呼叫程式碼的現有物件以外的所有物件的每一個 Demand() 都會失敗,即使在呼叫堆疊中較高的程式碼獲得存取其他資源的權限。

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

備註

PermitOnly 類似于 Deny ,在這兩者都會導致堆疊逐步解說失敗,否則會失敗。 差異在於指定 Deny 會導致堆疊逐步解說失敗的許可權,但 PermitOnly 指定不會導致堆疊逐步解說失敗的唯一許可權。 呼叫這個方法,以確保您的程式碼只能用來存取指定的資源。

PermitOnly 會忽略未授與許可權的許可權,因為該許可權的需求將不會成功。 不過,如果呼叫堆疊上的程式碼較低之後會呼叫該許可權,當堆疊逐步解 Demand 說到達嘗試呼叫 PermitOnly 的程式碼時, SecurityException 會擲回 。 這是因為呼叫 PermitOnly 的程式碼尚未被授與許可權,即使呼叫 PermitOnly 該許可權也一樣。 呼叫堆疊通常表示為向下成長,因此呼叫堆疊呼叫方法中的方法會降低呼叫堆疊。

適用於