如何检查我的代码是否在完全信任模式下运行?我已经看到了一些使用方法检查特定权限的建议SecurityManager.IsGranted()
,但我特别想检查完全信任,因为在部分信任模式下没有特定权限足以使用 FileSystemWatcher 类。
问问题
1020 次
1 回答
1
AFAIK,只有一种方法适用于 3.5 和 4.0 中的透明代码(如果它不完全受信任,您的代码可能至少低于 4.0):要求不受限制的权限集并在要求失败时捕获 SecurityException。例如:
public static bool RunningWithFullTrust()
{
bool result;
try
{
(new PermissionSet(PermissionState.Unrestricted)).Demand();
result = true;
}
catch (SecurityException)
{
result = false;
}
return result;
}
与您当前捕获和忽略异常的方法相比,这可能没有任何优势。
对于 4.0,有一个可能有用的新AppDomain.IsFullyTrusted方法。
于 2013-06-18T14:58:02.173 回答