您好,登錄后才能下訂單哦!
這篇文章主要介紹NopCommerce架構(gòu)中基于路由如何實(shí)現(xiàn)靈活的插件機(jī)制,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
NopCommerce支持靈活的插件機(jī)制,所謂Web系統(tǒng)插件,其實(shí)也就是可以像原系統(tǒng)的一部分一樣使用。
Web系統(tǒng)的使用方式就是客戶端發(fā)送一個請求,服務(wù)端進(jìn)行解析。在asp.net MVC中對客戶請求的解析是通過路由的方式實(shí)現(xiàn)的。
所謂路由就是在客戶端發(fā)生請求時,對請求路徑的解析過程。
在Global.asax.cs中注冊所有路由類:
//register custom routes (plugins, etc) var routePublisher = EngineContext.Current.Resolve<IRoutePublisher>(); routePublisher.RegisterRoutes(routes);
IRoutePublisher:路由發(fā)布者,以主動的方式向系統(tǒng)添加路由。實(shí)體類為:RoutePublisher。
IRouteProvider:路由提供者,每個插件都有一個路由提供者,向系統(tǒng)中注冊路由。
路由發(fā)布者(IRoutePublisher)通過IOC在運(yùn)行環(huán)境路徑中查找路由提供者,即查找所有繼承IRouteProvider的類。然后有各插件的路由提供者向系統(tǒng)中注冊此插件的路由。
PluginManager:插件管理器,負(fù)責(zé)加載插件的DLL,并保存所有插件信息。此管理器在系統(tǒng)初始化時開始啟動并通過Initialize方法加載所有插件。
IPluginFinder:插件查找者,在使用時從插件管理器中查找插件。
每一個插件都擁有自描述文件:Description.txt; 類PluginDescriptor負(fù)責(zé)保存解析后的插件描述或者說是此描述文件的解析后實(shí)體類。
每個插件都集成IPlugin接口,插件擁有安裝和卸載的功能。
~/App_Data/InstalledPlugins.txt:保存所有加載或安裝了的插件。
~/Plugins:安裝的插件所在目錄。
~/Plugins/bin:每一個插件都會在此處建立一個備份。
以上是“NopCommerce架構(gòu)中基于路由如何實(shí)現(xiàn)靈活的插件機(jī)制”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。