手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >NopCommerce架构分析之(四)基于路由实现灵活的插件机制
NopCommerce架构分析之(四)基于路由实现灵活的插件机制
摘要:NopCommerce支持灵活的插件机制,所谓Web系统插件,其实也就是可以像原系统的一部分一样使用。Web系统的使用方式就是客户端发送一个...

NopCommerce支持灵活的插件机制,所谓Web系统插件,其实也就是可以像原系统的一部分一样使用。

Web系统的使用方式就是客户端发送一个请求,服务端进行解析。在asp.net MVC中对客户请求的解析是通过路由的方式实现的。

所谓路由就是在客户端发生请求时,对请求路径的解析过程。

在Global.asax.cs中注册所有路由类:

//register custom routes (plugins, etc) var routePublisher = EngineContext.Current.Resolve<IRoutePublisher>(); routePublisher.RegisterRoutes(routes);

IRoutePublisher:路由发布者,以主动的方式向系统添加路由。实体类为:RoutePublisher。

IRouteProvider:路由提供者,每个插件都有一个路由提供者,向系统中注册路由。

路由发布者(IRoutePublisher)通过IOC在运行环境路径中查找路由提供者,即查找所有继承IRouteProvider的类。然后有各插件的路由提供者向系统中注册此插件的路由。

PluginManager:插件管理器,负责加载插件的DLL,并保存所有插件信息。此管理器在系统初始化时开始启动并通过Initialize方法加载所有插件。

IPluginFinder:插件查找者,在使用时从插件管理器中查找插件。

每一个插件都拥有自描述文件:Description.txt; 类PluginDescriptor负责保存解析后的插件描述或者说是此描述文件的解析后实体类。

每个插件都集成IPlugin接口,插件拥有安装和卸载的功能。

~/App_Data/InstalledPlugins.txt:保存所有加载或安装了的插件。

~/Plugins:安装的插件所在目录。

~/Plugins/bin:每一个插件都会在此处建立一个备份。

【NopCommerce架构分析之(四)基于路由实现灵活的插件机制】相关文章:

asp.net用三层实现多条件检索示例

c#将Excel数据导入到数据库的实现代码

用ASP.Net实现文件的在线压缩和解压缩

ASP.NET表单验证方法详解第1/2页

asp.net 获取机器硬件信息(cpu频率、磁盘可用空间、内存容量等)

asp.net一些很酷很实用的.Net技巧第1/2页

ASP.NET Web API标准的“管道式”设计

ASP.NET 页面间数据传递方法

常用的在数据库中建立无限级树形菜单的asp.net代码

asp.net request.PathInfo实现的url重写

精品推荐
分类导航