如何在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