• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > NopCommerce架构分析之(四)基于路由实现灵活的插件机制

NopCommerce架构分析之(四)基于路由实现灵活的插件机制

作者:WalsonTung 字体:[增加 减小] 来源:互联网 时间:2017-05-11

WalsonTung通过本文主要向大家介绍了nopcommerce 架构图,nopcommerce,nopcommerce中文,nopcommerce教程,nopcommerce codep等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

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

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

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

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

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

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

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

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

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

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

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

~/App_Data/InstalledPlugins.txt:保存所有加载或安装了的插件。
~/Plugins:安装的插件所在目录。
~/Plugins/bin:每一个插件都会在此处建立一个备份。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • NopCommerce架构分析之(八)多语言支持
  • NopCommerce架构分析之(七)主题Theme皮肤管理器
  • NopCommerce架构分析之(六)自定义RazorViewEngine和WebViewPage
  • NopCommerce架构分析之(五)Model绑定Action参数
  • NopCommerce架构分析之(四)基于路由实现灵活的插件机制
  • NopCommerce架构分析之(三)EntityFramework数据库初试化及数据操作
  • NopCommerce架构分析(一)Autofac依赖注入类生成容器

相关文章

  • 2017-05-11ASP.NET中基于soaphead的webservice安全机制
  • 2017-05-11ASP.NET MVC 控制器与视图
  • 2017-05-11.net读写xml文档详解
  • 2017-05-11在ASP.NET 2.0中操作数据之四十二:DataList和Repeater数据排序(一)
  • 2017-05-11Asp.net+jquery+.ashx文件实现分页思路
  • 2017-05-11ASP.NET 多次提交的解决办法
  • 2017-05-11asp.net 脏字典过滤问题 用正则表达式来过滤脏数据
  • 2017-05-11asp.net 编译器错误信息: CS0006: 未能找到元数据文件 该死的.NET
  • 2017-05-11一个ASP.Net下的WebShell实例
  • 2017-05-11解读ASP.NET 5 & MVC6系列教程(2):初识项目

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • repeater 分列显示以及布局的实例代码
    • js实现网页防止被iframe框架嵌套及几种location.href的区别
    • 一步步打造漂亮的新闻列表(无刷新分页、内容预览)第二步
    • ASP.NET MVC下的四种验证编程方式[续篇]
    • ASP.NET性能优化之减少请求
    • asp.net页面触发事件panel滚动条高度不变的实现方法
    • Asp.net使用HttpModule压缩并删除空白Html请求的实现代码
    • asp.net DropDownList 三级联动下拉菜单实现代码
    • asp.net 2个日期之间的整月数的算法
    • asp.net实例代码protected override void Render(HtmlTextWriter writer)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有