我有一个行为奇怪的应用程序,只是为了验证,我想看看它当前在哪个安全区域下运行。
我找到了 System.Security.SecurityZone 枚举,但似乎找不到任何可以返回我正在运行的这些枚举的东西。
有没有人有任何提示?
基本上我想知道我的应用程序是否在 MyComputer、Intranet、Internet、Untrusted、Trusted 等中运行。
编辑:感谢@blowdart ,这是我为查找此代码而编写的次要测试应用程序。
using System;
using System.Reflection;
namespace zone_check
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(".NET version: " + Environment.Version);
foreach (Object ev in Assembly.GetExecutingAssembly().Evidence)
{
if (ev is System.Security.Policy.Zone)
{
System.Security.Policy.Zone zone = (System.Security.Policy.Zone)ev;
Console.WriteLine("Security zone: " + zone.SecurityZone);
break;
}
}
}
}
}