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