2009-01-09 70 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,同時限制可以在不同信任級別調用的方法。

相關問題