我在Msdn的论坛上发现了类似的问题,但没有回答(你可以查看here) .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下进行检查?
答案 0 :(得分:0)
如何将try / catch放在需要完全信任并捕获SecurityException的代码块(如上面的PermissionSet检查)上?它不是那么漂亮,因为这不是通常应该使用的try / catch,但似乎它会完成目标。