J'ai une application qui se comporte bizarrement, et juste pour vérifier, j'aimerais voir dans quelle zone de sécurité il s'exécute actuellement.Récupère la zone de sécurité active/actuelle d'une application .NET?
J'ai trouvé l'énumération System.Security.SecurityZone, mais je n'arrive pas à trouver quoi que ce soit qui retournera lequel de ceux-ci je cours.
Quelqu'un a-t-il des conseils?
Fondamentalement, je veux savoir si ma demande est en cours d'exécution dans MyComputer, Intranet, Internet, non fiable, de confiance, etc.
Edit: Voici le test app mineur je l'ai écrit pour trouver ce code, grâce à @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;
}
}
}
}
}
Niceness, merci, je vais coller le code final ici pour référence ultérieure. –
De rien. Bien sûr, dans la vie réelle, vous n'auriez pas à faire cela, vous feriez des demandes CAS et agir en conséquence :) – blowdart