国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

NopCommerce架構分析之(四)基于路由實現靈活的插件機制

2024-07-10 13:30:09
字體:
來源:轉載
供稿:網友
本文主要介紹NopCommerce中,通過注冊路由,實現插件的機制,同時,NopCommerce中每個插件都集成IPlugin接口,插件擁有安裝和卸載的功能。
 

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:每一個插件都會在此處建立一個備份。



注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青神县| 手游| 沁阳市| 灌云县| 海原县| 仲巴县| 兴业县| 高雄县| 隆尧县| 兴化市| 清涧县| 桃源县| 靖宇县| 独山县| 明水县| 曲阜市| 东乡族自治县| 兴化市| 厦门市| 霍城县| 武宁县| 松原市| 莫力| 吉水县| 盐山县| 交口县| 阿鲁科尔沁旗| 库伦旗| 屏边| 平遥县| 德庆县| 玉树县| 大方县| 马龙县| 奈曼旗| 大名县| 宁明县| 深泽县| 双峰县| 巨鹿县| 呼玛县|