序
ABP和ABP VNext
很多人對舊版的ABP存在誤解,被網上的一些說法誤導,以為 ABP 只能用來開發.net framework 項目,而 ABP VNext 是用來開發.net core 項目。這個說法是錯誤的,通過ABP官網的 startup template 就可以看到,生成的模板是可以選擇.net core 和.net framework 的。
ABP 程序集以 Abp 作為前綴,而ABP VNext則是以 Volo.Abp 作為前綴,通過前綴就可以簡單判斷使用的版本。
兩者都是相同的團隊在維護,在ABP VNext官網的 Announcement 可以了解到其誕生的原因,ABP VNext是對ABP的完全重寫,因為 .Net Core的出現,他們將ABP集成到了ASP.NET Core,而不是在這些擴展庫的頂部構建ABP框架,如果希望依賴這些新的擴展庫,而不是第三方和自定義解決方案,將改變框架的基本結構,所以才誕生ABP VNext。
ABP VNext不支持ASP.NET MVC 5.x,實體框架6.x和其他舊技術,專注於.Net Core和ASP.NET Core,以及微服務開發。如果項目中仍在使用這些舊技術,則可以繼續舊版ABP框架。舊版 ABP仍在繼續維護,修復錯誤並添加新功能,譬如支持最新的.net 5。
前言
本系列根據 abpvnext官方微服務demo 來進行學習,基於 .netcore sdk version 3.1404 ,volo.abp version 3.2.1。
下載官方demo之后,可選擇將數據庫修改為Mysql,刪除原有遷移文件夾之后,重新生成遷移,之后按照官方文檔配置項目啟動順序即可正常運行。
注意不要將 abp 升級到4.0,我使用的時候發現Volo.Abp.IdentityServer.Domain 4.0 的 FindByCliendIdAsync 修改為 FindByClientIdAsync 之后,無法正常獲取 ids4 中配置的 scope ,會導致 hybird 授權模式下無法正常授權,所以在官方未修復或更新 demo 之前,不要隨便升級項目。
內容索引
一.模塊(Modules)
模塊可以嵌入到單個應用程序中,也可以通過單獨部署API和UI作為微服務托管