1

Msdn のフォーラムで同様の質問を見つけましたが、回答がありません (ここで確認できます)。Net 4.0 には廃止されたメソッドが付属していました

IsUnderHighTrust = SecurityManager.IsGranted( 
  new AspNetHostingPermission( AspNetHostingPermissionLevel.Unrestricted ) );

代わりにAppDomain.CurrentDomain.PermissionSetを使用することをお勧めします

var permission = new PermissionSet(PermissionState.None);
permission.AddPermission(
  new AspNetHostingPermission(AspNetHostingPermissionLevel.Unrestricted));

IsUnderHighTrust = permission.IsSubsetOf(AppDomain.CurrentDomain.PermissionSet); 

ただし、PermissionSetには完全信頼モードも必要です。

当然の質問です。Asp .Net 4.0 で、アプリケーションがフルまたはミディアム トラスト モードであるかどうかを確認するにはどうすればよいでしょうか。

4

1 に答える 1

0

完全な信頼を必要とするコード ブロック (上記の PermissionSet チェックなど) の周りに try/catch を配置し、SecurityException をキャッチするのはどうですか? これは通常、try/catch を使用する目的ではないため、それほどきれいではありませんが、それでも目標を達成できるようです。

于 2011-12-18T02:42:46.347 に答える