加载程序集时设置特定的权限(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();
        }

 

 

你可能感兴趣的:(assembly)