IStackWalk.PermitOnly メソッド

定義

呼び出し側コードによってパススルーされる現在のものを除き、全オブジェクトのあらゆる Demand() を失敗させます。これは、呼び出しスタックの上位にあるコードに対して他のリソースにアクセスするためのアクセス権限が付与されている場合にも当てはまります。

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

注釈

PermitOnly は、両方とも成功した場合にスタック ウォークが失敗するという点で似ています Deny。 違いは、 Deny スタック ウォークが失敗する原因となるアクセス許可を指定しますが PermitOnly 、スタック ウォークの失敗を引き起こさない唯一のアクセス許可を指定することです。 このメソッドを呼び出して、コードを使用して指定されたリソースにのみアクセスできることを確認します。

PermitOnly は、権限の要求が成功しないため、権限が付与されていない場合は無視されます。 ただし、呼び出し履歴の下位のコードがそのアクセス許可を後で呼び出Demandすと、スタック ウォークが呼び出PermitOnlyそうとしたコードに到達すると a SecurityException がスローされます。 これは、呼び出されたコードには、そのアクセス許可を呼び出PermitOnlyPermitOnlyした場合でも、アクセス許可が付与されていないためです。 通常、呼び出し履歴は、呼び出し履歴の呼び出しメソッドの上位のメソッドが呼び出し履歴内で低くなるように、縮小として表されます。

適用対象