如何在ASP.NET中使用插件架构?

时间:2011-03-09 07:13:16

标签: c# .net asp.net visual-studio

我非常喜欢WinForms的插件架构,我想在Asp.net中使用插件架构。

我在asp.net中搜索了插件架构,我找到了asp.net MVC示例,但我想使用经典的asp.net项目而不是MVC。

有没有人知道使用经典asp.net的模式的任何资源,而不是MVC?

2 个答案:

答案 0 :(得分:14)

你可以自己动手。

插件架构需要一些不那么复杂的部分:

  • 识别插件dll所在位置的方法
  • 所有插件必须遵守的接口或基类定义。这是最重要的一个。它决定了您的插件可以展示的功能以及它与您的应用程序集成的深度
  • 插件加载并执行的地方(及时)。 (即,插件是针对每个网页请求执行的吗?还是针对与某个名称匹配的请求?或者页面是否手动调用插件?)

一旦弄明白,实例化插件的实例很简单。无论您是在Web应用程序中运行还是在客户端上运行,它的工作方式都相同:

System.Reflection.Assembly a = System.Reflection.Assembly.LoadFrom(plugin_path);
t = a.GetType("IPlugin");
IPlugin plugin = (IPlugin)Activator.CreateInstance(t);

然后,您可以使用plugin.DoSomething()实际调用插件中的功能。 (无论是渲染部分HTML还是保存到数据库或其他)

答案 1 :(得分:3)