ASP.NET Core搭建多層網站架構【0-前言】


2020/01/26, ASP.NET Core 3.1, VS2019

摘要:基於ASP.NET Core 3.1 WebApi搭建后端多層網站架構

目錄

0-前言

1-項目結構分層建立

2-公共基礎庫

3-xUnit單元測試之簡單方法測試

4-工作單元和倉儲設計

5-網站數據庫實體設計及映射配置

6-注冊跨域、網站核心配置

7-使用NLog日志記錄器

8.1-使用ViewModel注解驗證

8.2-使用AutoMapper映射實體對象

8.3-編寫角色業務的增刪改

9.1-使用Autofac代替原生的依賴注入

9.2-使用Castle.Core實現動態代理攔截器

10-使用JWT進行授權驗證

11-WebApi統一處理返回值、異常

12-xUnit單元測試之集成測試

13-擴展之網站支持全球化和本地化多語言語系

14-擴展之部署到IIS

15-擴展之使用Obfuscar混淆加密保護代碼

網站內容

  • 簡單的后台管理系統,擁有用戶登錄、角色管理、日志記錄的功能

  • 支持MySQL、SQL server數據庫

  • 泛型倉儲設計完善,不用每個實體單獨定義一個倉儲(也可以使用this自定義擴展或覆寫)

  • 工作單元統一管理所有的倉儲,統一管理事務和提交

  • 開發調試階段,開啟EntityFrameworkCore的日志,可以看到每次執行的具體sql,方便排查錯誤

  • NLog日志記錄根據日志等級自動過濾日志事件

  • NLog寫入數據庫的連接字符串自動與appsettings.json中的配置保持一致

  • 實體類Id使用雪花算法生成

  • Castle.Core實現動態攔截器(AOP)對業務層的異常統一進行日志記錄

  • 登錄驗證使用JWT

  • 用依賴注入的方式使用AutoMapper

  • 使用ResXManager插件對多語言資源文件進行管理維護

  • 使用Obfuscar混淆加密保護代碼

技術介紹

  • 主要采用ASP.NET Core 3.1(WebApi) 框架實現一個后台管理系統

  • EntityFrameworkCore 3.1做ORM工具,FluentAPI方式配置實體映射

  • NLog做日志記錄

  • Autofac配合Castle.Core實現動態攔截器(AOP)

  • JWT做登錄驗證

  • AutoMapper做映射工具

  • Postman做接口調試

實現目標

  1. 每一處代碼(每一個工具)盡量做到最佳實踐
  2. 完善的單元測試
  3. 每一章節都有對應的項目分支代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM