加载程序集时设置特定的权限(Appdomain.ExecuteAssembly())

通常,当我们需要加载外部程序集(例如加载第三方控件)时,为了避免由于第三方控件程序漏洞或希望安全访问该程序集, 我们需要利用System.Security.Policy.Evidence 来创建一个Evidence来限制访问该程序集的权限。

Code

通常,我们都是利用Appdomain.CreateDomain()方法来创建一个应用程序域,并且赋予对应的权限。在我们不需要时,并且可以卸载它来提高程序的效率。

怎么去配置Application Domain 属性呢?这里我们需要用到AppDomainSetup 类.

 

       static void Main(string[] args)
        {
            AppDomainSetup ads 
= new AppDomainSetup();
            ads.ApplicationBase 
= "file://" + System.Environment.CurrentDirectory;
            ads.DisallowBindingRedirects 
= false;
            ads.DisallowCodeDownload 
= true;
            ads.ConfigurationFile 
= AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;
            AppDomain d 
= AppDomain.CreateDomain("NewDomain"null, ads);
            Console.Read();
        }

 

 

posted on 2009-06-03 22:22  博览潇湘  阅读(480)  评论(0编辑  收藏  举报

导航