CodeAccessPermission.PermitOnly メソッド
アセンブリ: mscorlib (mscorlib.dll 内)



PermitOnly は、通常は成功するスタック ウォークが失敗する原因となる点で、Deny に似ています。両者の相違点は、Deny はスタック ウォークが失敗する原因となるアクセス許可を指定するのに対し、PermitOnly はスタック ウォークが失敗する原因とはならないアクセス許可だけを指定することです。
このメソッドを呼び出すと、コードを使用してアクセスできるリソースが、指定されたリソースだけになります。PermitOnly の呼び出しは、呼び出しコードがその呼び出し元に返されるまで有効です。フレームあたり 1 つの PermitOnly だけをアクティブにできます。フレームにアクティブな PermitOnly が存在する場合に PermitOnly を呼び出そうとすると、SecurityException が発生します。アクティブな PermitOnly を削除するには、RevertPermitOnly または RevertAll を呼び出します。
与えられていないアクセス許可を要求しても失敗するため、そのようなアクセス許可に対して PermitOnly を呼び出しても無視されます。しかし、コール スタック内の下位にあるコードがそのアクセス許可に対して Demand を呼び出すと、PermitOnly の呼び出しを試行するコードにスタック ウォークが達したときに、SecurityException がスローされます。これは、コードがアクセス許可に対して PermitOnly を呼び出そうとしても、PermitOnly を呼び出したコードにそのアクセス許可が与えられていないために発生しますコール スタック内で上位にあるメソッドが下位にあるメソッドを呼び出すことができるように、通常コール スタックは、下方向に影響力を持つものとして表現されます。
継承時の注意 このメソッドはオーバーライドできません。
PermitOnly メソッドを使用して、現在のインスタンスで指定されたリソース以外のすべてのリソースに対するアクセスを制限する方法を次のコード例に示します。次のコード例は RevertAll メソッドの例の一部です。
' Grant access only to OwnClipboard. Console.WriteLine("Granting permission only for OwnClipboard access.") clipboardPermission.PermitOnly() DemandAllClipboardAccess() ' Revert the PermitOnly with a call to RevertPermitOnly. Console.WriteLine("Reverting the PermitOnly.") CodeAccessPermission.RevertPermitOnly() DemandAllClipboardAccess()
// Grant access only to OwnClipboard. Console.WriteLine("Granting permission only for OwnClipboard access."); clipboardPermission.PermitOnly(); DemandAllClipboardAccess(); // Revert the PermitOnly with a call to RevertPermitOnly. Console.WriteLine("Reverting the PermitOnly."); CodeAccessPermission.RevertPermitOnly(); DemandAllClipboardAccess();
// Grant access only to OwnClipboard. Console::WriteLine( L"Granting permission only for OwnClipboard access." ); clipboardPermission->PermitOnly(); DemandAllClipboardAccess(); // Revert the PermitOnly with a call to RevertPermitOnly. Console::WriteLine( L"Reverting the PermitOnly." ); CodeAccessPermission::RevertPermitOnly(); DemandAllClipboardAccess();

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からCodeAccessPermission.PermitOnly メソッドを検索する場合は、下記のリンクをクリックしてください。

- CodeAccessPermission.PermitOnly メソッドのページへのリンク