語言

IStackWalk.PermitOnly 方法

定義

即使呼叫堆疊中較高層的程式碼已獲得存取其他資源的權限,除了目前通過呼叫程式碼外,所有 Demand() 物件的 都會導致失敗。

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

備註

PermitOnly 與 類似 Deny,兩者都會使堆疊走動失敗,否則會成功。 差別在於 它 Deny 指定了會導致堆疊走路失敗的權限,但 PermitOnly 只指定了不會讓堆疊走路失敗的權限。 呼叫此方法以確保你的程式碼只能存取指定的資源。

PermitOnly 因為申請許可無法成功而被忽視。 然而,如果呼叫堆疊中較低的程式碼後來Demand呼叫該權限,當堆疊路徑到達嘗試呼叫SecurityException的程式碼時,會拋出 a PermitOnly 。 這是因為呼叫 PermitOnly 的程式碼尚未獲得授權,儘管它曾要求 PermitOnly 該權限。 呼叫堆疊通常以向下成長表示,因此呼叫堆疊中較高的方法也會在呼叫堆疊中較低的呼叫方法。

適用於