我目前正在为我的学士论文开发一个非常模块化和基于插件的框架。主要思想是,在我的应用程序结构中有一个名为的文件夹,您可以在其中放入符合特殊接口plugins
的已编译插件(例如-files) 。然后应用程序使用用户选择的插件执行任务。因此,如果我想在 PDF 文件中执行一次任务,我会选择 ,在 Word 文档中执行一次,我会选择到工作。.dll
IPlugin
PdfPlugin
DocPlugin
输出也在接口中定义,因此每个插件都返回相同的数据结构。只是每个图书馆的实际工作不同。
现在,由于应用程序只是调用接口中定义的方法,例如ParseDocument()
等等,我怎样才能防止插件(可能是由第三方开发的)执行有害代码?
我正在研究 .NET3.5(可能会切换到 4,尚未决定)和 C#。