程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> asp.net mvc5輕松實現插件式開發,mvc5輕松實現

asp.net mvc5輕松實現插件式開發,mvc5輕松實現

編輯:關於.NET

asp.net mvc5輕松實現插件式開發,mvc5輕松實現


在研究Nopcommece項目代碼的時候,發現Nop.Admin是作為獨立項目開發的,但是部署的時候卻是合在一起的,感覺挺好

這裡把他這個部分單獨抽離出來,

主要關鍵點:

這裡新建了一個AdminAreaRegistration來專門負責WebAdmin相關路由的注冊,好處是每個插件負責自己的事情,相互不影響,

但是這個RegisterArea什麼時候執行呢,就是主網站項目調用 AreaRegistration.RegisterAllAreas();的時候,

 那麼AreaRegistration.RegisterAllAreas()主要干了什麼?

ASP.NET MVC會遍歷通過調用BuildManager的靜態方法GetReferencedAssemblies得到的程序集列表,並從中找到所有AreaRegistration類型,

然後調用每個AreaRegistration類型的RegisterArea方法

注意 之所以說這是一個比較簡單的方式,是因為 這個例子只是把插件項目的DLL簡單的輸出到主項目的Bin目錄,


插件得DLL就已經可以被成功的添加到GetReferencedAssemblies列表裡,

如果就想每個插件都有自己的目錄那麼可能需要你手動的通過BuildManager在APPStart前把每個插件DLL加入到GetReferencedAssemblies列表裡,

 

 

代碼下載:  https://github.com/xlb378917466/SimplePlugin_asp.netmvc5.git

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved