集会证据

pko*_*iej 5 .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);
Run Code Online (Sandbox Code Playgroud)

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

亲切的问候PK

Ian*_*Ian 1

根据.NET Framework基础书籍(我还没有完全记住它以备考试),证据要么是用户指定的(.NET配置工具),要么是开发人员指定的。因此,通过这种方式,您可以明确定义所需的区域。

我不知道 CLR 自动分配区域,尽管我可能是错的。

  • 以下是有关 CLR 如何获取程序集的区域证据的文章:http://blogs.msdn.com/shawnfa/archive/2006/05/12/596419.aspx (2认同)