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