gpt4 book ai didi

c# - 获取 .NET 应用程序的当前/事件安全区域?

转载 作者:太空狗 更新时间:2023-10-29 21:31:48 26 4
gpt4 key购买 nike

我有一个行为异常的应用程序,为了验证,我想看看它当前在哪个安全区域下运行。

我找到了 System.Security.SecurityZone 枚举,但似乎找不到任何可以返回我正在运行的枚举。

有人有什么建议吗?

基本上我想知道我的应用程序是否在我的电脑、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;
}
}
}
}
}

最佳答案

您需要查看当前程序集的 CAS 证据;

this.GetType().Assembly.Evidence

Assembly.Evidence是一个属性Evidence目的。从这里你可以enumerate the evidence并查找显示为 元素的区域。

关于c# - 获取 .NET 应用程序的当前/事件安全区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/239463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com