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

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

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

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

你可以自己动手。

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

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

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

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

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

查看Managed Extensibility Framework