【发布时间】:2011-10-06 03:45:38
【问题描述】:
我正在用 ASP.NET 构建一个网站,该网站允许基于公共类创建新模块。新模块需要能够使用自己的方法/函数库来扩展基类。我想在 Application_Start 加载所有模块。它们由唯一的字符串键标识。
结构是这样的:
根 -斌 --module1.dll --module2.dll -模块 --模块1 ---mod.key1 --模块2 ---mod.key2在启动时读取每个模块文件夹并识别它的密钥,从数据库加载所有设置并设置公共属性,然后存储在一个集合中。当一个页面被请求一个模块时,基页面类使用它的唯一目录键加载适当的模块。问题是基本模块类不包含特定于该模块的方法库(只有它是从 db 加载的属性/设置)。如何扩展模块类以在启动时模块加载期间包含方法,或者只是使用它的字符串名称动态实例化正确的扩展类?或任何其他想法?我不想在应用加载方法中硬编码类名,以便它可以扩展以添加未来的模块。
【问题讨论】: