IStackWalk.PermitOnly 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
即使呼叫堆疊中較高層的程式碼已獲得存取其他資源的權限,除了目前通過呼叫程式碼外,所有 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 該權限。 呼叫堆疊通常以向下成長表示,因此呼叫堆疊中較高的方法也會在呼叫堆疊中較低的呼叫方法。