2020/01/26, ASP.NET Core 3.1, VS2019html
摘要:基於ASP.NET Core 3.1 WebApi搭建後端多層網站架構【1-項目結構分層創建】git
文章目錄github
此分支項目代碼算法
本章節介紹了本項目的分層結構,創建了各層級的類庫,修改網站項目的啓動配置數據庫
MSDemo
一個解決方案文件夾至關於一個層級,解決方案下是src
和tests
。而src
下分了七個層級,而且每一個層級向上依賴,不會出現2.WebCore
中的內容依賴5.Model
中的內容。json
下面在每一個層級中新建類庫或應用程序,簡單介紹每一個層級的做用。後端
1.Common
中主要放置一些公共的基礎庫(例如雪花算法、擴展方法等)跨域
2.WebCore
中是網站數據庫實體類、網站核心配置(例如跨域配置、多語言配置等)瀏覽器
3.DbAccess
中是數據庫實體類映射配置、封裝工做單元倉儲設計類庫服務器
4.Component
中放置一些Web組件,例如Aop動態代理、Jwt受權驗證等
5.Model
中放置Automapper的映射配置、ViewModel、DTO等內容
6.Business
主要是業務內容
7.WebHost
就是WebApi所在層級
說明:
在解決方案所在文件夾下,創建src
文件夾,src下全部項目都放在這個路徑下。
類庫配置以下圖,後面幾個類庫除了名字不一樣,都是同樣的路徑:
在1.Common
中新建.NET Core類庫,取名爲MS.Common,一些公用的基礎方法就封裝在這裏面。
在2.WebCore
中新建.NET Core類庫,取名爲MS.Entities,裏面存放數據庫實體類
在2.WebCore
中新建.NET Core類庫,取名爲MS.WebCore,裏面存放網站核心的一些配置,依賴MS.Common項目
在3.DbAccess
中新建.NET Core類庫,取名爲MS.UnitOfWork,裏面是工做單元與倉儲設計
在3.DbAccess
中新建.NET Core類庫,取名爲MS.DbContexts,裏面存放實體類映射配置和數據庫上下文,依賴MS.Entities、MS.UnitOfWork項目
在4.Component
中新建.NET Core類庫,取名爲MS.Component.Aop,實現Aop動態代理,依賴MS.WebCore項目
在4.Component
中新建.NET Core類庫,取名爲MS.Component.Jwt,實現Jwt驗證受權,依賴MS.WebCore、MS.Entities兩個項目
在5.Model
中新建.NET Core類庫,取名爲MS.Models,實現存放AutoMapper映射配置、ViewModel和DTO,依賴MS.Component.Jwt、MS.DbContexts兩個項目
在6.Business
中新建.NET Core類庫,取名爲MS.Services,是主要的業務實現,依賴MS.Models項目
在7.WebHost
中新建ASP.NET Core Web應用程序,取名爲MS.WebApi,取消HTTPS配置,依賴MS.Services、MS.Component.Aop兩個項目
將MS.WebApi網站設爲項目啓動項
創建完成後,解決方案以下圖:
十個項目都是.NET Core 3.1目標框架,而且十個項目都在src文件夾中:
打開MS.WebApi
-Properties
-launchSettings.json
文件,編輯網站啓動配置:
刪除IIS Express節點配置,並將MS.WebApi節點中,launchBrowser值改成false,此時,網站項目將使用Kestrel內核啓動,不使用IIS Express,不啓動瀏覽器,僅有個控制檯程序:
打開Postman,New Collection
-輸入名稱MSDemo
在MSDemo
Collection中Add Requst,名稱填寫weatherforecast,添加完成後,輸入URL:http://localhost:5000/weatherforecast後回車:
能夠看到請求成功。
使用Kestrel內核啓動Web服務器,而不是使用IIS Express,關於這兩種託管模式,能夠看老張的哲學出品的ASP.NET Core 學習視頻教程,P4-兩種託管模式(注意是第四P)
在使用Postman過程當中,創建了Collection,再在Collection中Add Requst請求,爲的是: