ABP VNext學習日記7

shengshengwang發表於2020-12-18

1.services.AddApplication<AppModule>()
解析:新增了所有AppModule模組中定義的全部服務。

2.app.InitializeApplication()
解析:完成初始化並啟動應用程式。

3.Autofac依賴注入框架
解析:提供了屬性注入和方法攔截等高階功能,這些功能是ABP執行高階應用程式框架功能所必需的。

4.ABP解決方案專案及依賴關係
解析:
在這裡插入圖片描述

5.Domain專案
解析:解決方案的領域層,它主要包含實體、集合根、領域服務、值型別、倉儲介面和解決方案的其它領域物件。

6.DbMigrator專案
解析:
[1]必要時建立資料庫[沒有資料庫時]
[2]應用未遷移的資料庫遷移
[3]初始化種子資料[當需要時]

7.HttpApi.Client.ConsoleTestApp專案
解析:它是一個用於演示客戶端代理用法的控制檯應用程式。

8.Web專案
解析:包含應用程式的使用者介面。如果使用ASP.NETCore MVC UI,它包括Razor頁面、javascript檔案、樣式檔案、圖片等。

9.Test專案
解析:
[1]Domain.Tests:用於測試領域層
[2]Application.Tests:用於測試應用層
[3]EntityFrameworkCore.Tests:用於測試EF Core配置與自定義倉儲
[4]Web.Tests:用於測試UI[適用於ASP.NET Core MVC UI]
[5]TestBase:所有測試專案的基礎[共享]專案

10.HttpApi.Client.ConsoleTestApp專案
解析:它是一個控制檯應用程式,不是自動化測試專案,它用於演示.Net應用程式中HTTP API的用法。
說明:測試專案是用於做整合測試。

11.IdentityServer專案
解析:用於其它專案的身份驗證伺服器。Web專案使用OpenId Connect身份驗證從IdentityServer獲取當前使用者的身份和訪問令牌,然後使用訪問令牌呼叫HTTP API伺服器。HTTP API伺服器使用bearer token從訪問令牌獲取宣告授權當前使用者。

12.HttpApi.Host專案
解析:該專案是一個承載解決方案API的應用程式,它有自己的appsettings.json檔案。

13.Home Module
解析:Home模組是一個可延遲載入的模組,它載入應用程式的根地址。

14.HttpApi.Host
解析:HttpApi.Host託管模組的HTTP API,它有自己的appsettings.json包含資料庫連線字串和其它配置。

15.Web.Host
解析:Web.Host託管模組的UI,它包含appsettings.json檔案,但是其中沒有資料庫連線字串,因為它不需要連線到資料庫,它主要呼叫遠端API伺服器和身份認證伺服器。

16.ICrudAppService常見CRUD方法
解析:GetAsync、GetListAsync、CreateAsync、UpdateAsync和DeleteAsync。

17.生成代理
解析:ABP CLI提供了generate-proxy命令為服務HTTP API生成客戶端代理簡化客戶端使用服務的成本。

18.固有的註冊型別
解析:
[1]模組類註冊為singleton
[2]MVC控制器[繼承Controller或AbpController]被註冊為transient
[3]MVC頁面模型[繼承PageModel或AbpPageModel]被註冊為transient
[4]MVC檢視元件[繼承ViewComponent或AbpViewComponent]被註冊為transient
[5]應用程式服務[實現IApplicationService介面或繼承ApplicationService類]註冊為transient
[6]儲存庫[實現IRepository介面]註冊為transient
[7]域服務[實現IDomainService介面]註冊為transient

19.Dependency特性
解析:
[1]Lifetime:註冊的生命週期包括Singleton、Transient或Scoped
[2]TryRegister:設定true則只註冊以前未註冊的服務。使用IServiceCollection的TryAdd…擴充套件方法
[3]ReplaceServices:設定true則替換之前已經註冊過的服務。使用IServiceCollection的Replace擴充套件方法

20.ABP本地化系統
解析:Install-Package Volo.Abp.Localization

21.測試專案類庫
解析:
[1]xunit:作為主測試框架
[2]Shoudly:作為斷言庫
[3]NSubstitute:作為模擬庫

22.ABP驗證基礎設施
解析:abp add-package Volo.Abp.FluentValidation

23.Hangfire後臺作業管理
解析:abp add-package Volo.Abp.BackgroundJobs.HangFire

24.Quartz後臺作業管理
解析:abp add-package Volo.Abp.BackgroundJobs.Quartz

25.Quartz後臺工作者管理
解析:abp add-package Volo.Abp.BackgroundWorkers.Quartz

相關文章