2009-01-09 71 views
2

我的应用程序有一个插件模型,允许第三方开发人员编写将在主应用程序中执行的程序集。直到现在,实际使用只允许受信任的开发人员提供插件。加载不受信任的程序集

我想将这个框架公开给不受信任的开发人员。为此,我希望将程序集限制在内存操作中,该操作不会触及任何本地资源(硬件,注册表,数据库等),并且只允许使用最大内存量。

目前,与受信任的程序集,我只是使用Assembly.Load和反射来实例化对象。我需要的是如何限制从外部程序集加载的代码的权限。

+0

[.NET可能不适合运行完全不受信任的代码](http://security.stackexchange.com/questions/87001/),尽管我希望不是这样。 – 2015-04-27 23:31:32

回答

1

基本上你需要将程序集加载到单独的AppDomain中。它很好解释了如何做到这一点,以及如何限制其他程序集加载到MSDN文档中新的AppDomain中。您还需要阅读CAS。这允许您为加载的assemply提供API,同时限制可以在不同信任级别调用的方法。

相关问题