集会证据

时间:2009-04-28 10:41:06

标签: .net security code-access-security

以下代码的目的是什么?:

object[] hostEvidence = {new Zone(SecurityZone.Internet)}; 
Evidence internetEvidence = new Evidence(hostEvidence, null);
AppDomain myDomain = AppDomain.CreateDomain("MyDomain");
myDomain.ExecuteAssembly("SecondAssembly.exe", internetEvidence);

据我所知CLR 自动(它向Windows询问)根据程序集的运行位置(本地机器,互联网等)分配区域。我猜这是为了减少程序集的权限,但是当我们有两个证据时,我们还有两个代码组,它们在给定的策略级别内求和

亲切的问候 PK

2 个答案:

答案 0 :(得分:1)

根据.NET Framework基础书(我还没有为考试记住它),Evidence可以是用户指定的(.NET配置工具)或指定的Developer。因此,通过这种方式,您可以明确定义所需的区域。

虽然我可能错了,但我不知道CLR会自动分配区域。

答案 1 :(得分:0)

我希望ExecuteAssembly方法的这个重载使用提供的证据而不是自动分配新的证据。否则,重点是什么?