Share via


IStackWalk.PermitOnly メソッド

定義

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

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

注釈

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

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

適用対象