Share via


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 也一樣。 呼叫堆疊通常表示為相應減少,因此呼叫堆棧呼叫方法中的方法會降低呼叫堆疊。

適用於