У меня есть приложение, которое ведет себя странно, и просто для проверки, я хотел бы видеть, в какой зоне безопасности он работает в настоящее время.Получить текущую/активную зону безопасности приложения .NET?
Я нашел перечисление System.Security.SecurityZone, но не может найти ничего, что вернет, из какого из них я запущен.
Есть ли у кого-нибудь советы?
В основном я хочу узнать, если мое приложение работает в MyComputer, Интранет, Интернет, Подозрительные, доверенный и т.д.
Edit: Вот второстепенный тест-приложение, которое я написал, чтобы найти это код, благодаря @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;
}
}
}
}
}
любезность, спасибо, я буду вставлять окончательный код здесь для справки. – 2008-10-27 10:08:41
Добро пожаловать. Конечно, в реальной жизни вам не придется этого делать, вы должны делать требования CAS и действовать соответственно :) – blowdart 2008-10-27 10:29:00