.NET 8 + Blazor 多租戶、模塊化、DDD框架、開箱即用

来源:https://www.cnblogs.com/1312mn/p/18350326
-Advertisement-
Play Games

前言 基於 .NET 8 的開源項目,主要使用 WebAPI + Blazor 支持多租戶和模塊化設計,DDD構建。可以幫助我們輕鬆地搭建起一個功能完善的Web應用程式。除了幫助你快速構建應用程式之外,項目也可以當做學習資料。我們可以從中瞭解到多租戶、CQRS、DDD架構、雲部署、Docker容器化 ...


前言

基於 .NET 8 的開源項目,主要使用 WebAPI + Blazor 支持多租戶和模塊化設計,DDD構建。可以幫助我們輕鬆地搭建起一個功能完善的Web應用程式。除了幫助你快速構建應用程式之外,項目也可以當做學習資料。我們可以從中瞭解到多租戶、CQRS、DDD架構、雲部署、Docker容器化等等前沿技術。

項目簡介

dotnet-starter-kit 是一個基於 .NET 8 的開源項目,它採用了Clean Architecture原則,支持多租戶和模塊化設計。此項目是一個開箱即用的解決方案,非常適合快速開發Web應用程式。

資料庫支持

  • PostgreSQL
  • MySQL
  • MSSQL
  • Oracle

項目技術棧

  • 多租戶架構

  • CQRS (Command Query Responsibility Segregation)

  • DDD架構

  • 清潔編碼標準

  • Terraform到AWS的雲部署

  • Docker概念

  • CI/CD管道和工作流

  • ASP.NET Core 8

  • Entity Framework Core 8

  • Blazor

  • MediatR (用於CQRS模式)

  • PostgreSQL (資料庫)

  • Redis (緩存)

  • FluentValidation (數據驗證)

運行與部署

1、下載項目

git clone https://github.com/fullstackhero/dotnet-starter-kit.git

2、打開項目

使用Visual Studio打開 ./src/FSH.Starter.sln 文件。

項目結構如下圖所示:

3、項目結構

啟動 FSH.Starter 解決方案,它包含以下三個項目:

  • Aspire Dashboard(預設項目)
  • Web API
  • Blazor

4、修改連接字元串

./src/api/server/appsettings.Development.json 文件中修改 DatabaseOptionsConnectionString 字元串連接。

5、啟動項目

分別啟動項目:

  • Aspire Dashboard: 預設啟動,訪問地址 https://localhost:7200/
  • Web API: 訪問地址 https://localhost:7000/swagger/index.html
  • Blazor: 訪問地址 https://localhost:7100/

6、部署

  • Docker: 項目支持Docker,方便容器化部署。
  • AWS: 項目提供了部署到 AWS 的指南。

項目展示

 

項目地址

  • Github https://github.com/fullstackhero/dotnet-starter-kit.git
  • Gitee https://gitee.com/xie-bing/dotnet-starter-kit

線上文檔

https://fullstackhero.net/

最後

如果你覺得這篇文章對你有幫助,不妨點個贊支持一下!你的支持是我繼續分享知識的動力。如果有任何疑問或需要進一步的幫助,歡迎隨時留言。

也可以加入微信公眾號 [DotNet技術匠] 社區,與其他熱愛技術的同行一起交流心得,共同成長!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在Java中,使用GeoTools庫可以方便地處理地理空間數據,包括構建地理點、線、面等。以下是一個詳細的示例,展示如何使用GeoTools來創建地理點(Point)、線(LineString)和多邊形(Polygon)。 1. 準備工作 首先,確保我們已經添加了GeoTools庫到我們的項目中。如 ...
  • ​不管是傳統互聯網還是移動互聯網,實時數據傳輸都是剛需,比如以QQ、微信為代表的即時通信工具,能夠實時傳輸文本和圖片。其中一對一的圖文通信叫做私聊,多對多的圖文通信叫做群聊。 除了常見的圖文即時通信,還有實時音視頻通信,比如一對一的音頻通話、一對一的視頻通話等等,此時可採用WebRTC技術,有關We ...
  • Excel 是一款廣泛應用於數據處理、分析和報告製作的電子錶格軟體。在商業、學術和日常生活中,Excel 的使用極為普遍。本文將詳細介紹如何使用免費.NET庫將數據寫入到 Excel 中,包括文本、數值、數組、和DataTable數據的輸入。 C# 在Excel單元格中寫入文本、或數值 C# 在Ex ...
  • 首先看一下效果: 任意控制項可以附加一個文字在控制項的右上角,並帶有紅色背景 第一步,新建一個空的wpf項目: 第二步,創建一個類,取名為badge: 第三步,將badge的父類設置成 System.Windows.Documents.Adorner public class Badge : Adorn ...
  • Aspire8一文通 0、簡介 微軟Aspire是微軟今年推出的一個全新的平臺無關、語言無關的新框架,它的設計目的是簡化雲原生應用的開發、部署和管理過程。Aspire的讀音是[əˈspaɪər],它的意思是渴望(成就);有志(成為),利用它你可以構建新應用程式或將雲原生功能添加到現有的應用程式,或者 ...
  • 前言 在物聯網(IoT)和工業自動化領域,邊緣計算設備扮演著至關重要的角色。邊緣採集網關作為連接物理世界與數字世界的橋梁,負責收集感測器數據並將數據傳輸到雲端或本地數據中心進行處理。 本文將介紹一款基於 .NET 8 的跨平臺高性能邊緣採集網關的開源項目。希望通過這個項目能夠幫助大家搭建和部署高效的 ...
  • 引言 最近在做的項目上做了一些性能優化的工作,用到了 Visual Studio 遠程調試,所以本篇文章整理一下遠程調試技巧。 首先,瞭解一下 Visual Studio遠程調試是什麼? Visual Studio 的遠程調試功能允許在本地調試遠程電腦上運行的應用程式。用遠程調試,可以在本地電腦 ...
  • 視窗/屏幕截圖適用於截圖、批註等工具場景,時時獲取視窗/屏幕圖像數據流呢,下麵講下視頻會議共用桌面、遠程桌面這些場景是如何實現畫面錄製的。 常見的屏幕畫面時時採集方案,主要有GDI、WGC、DXGI。 GDI GDI(Graphics Device Interface)就是使用user32下Wind ...
一周排行
    -Advertisement-
    Play Games
  • 前言 推薦一款基於.NET 8、WPF、Prism.DryIoc、MVVM設計模式、Blazor以及MySQL資料庫構建的企業級工作流系統的WPF客戶端框架-AIStudio.Wpf.AClient 6.0。 項目介紹 框架採用了 Prism 框架來實現 MVVM 模式,不僅簡化了 MVVM 的典型 ...
  • 先看一下效果吧: 我們直接通過改造一下原版的TreeView來實現上面這個效果 我們先創建一個普通的TreeView 代碼很簡單: <TreeView> <TreeViewItem Header="人事部"/> <TreeViewItem Header="技術部"> <TreeViewItem He ...
  • 1. 生成式 AI 簡介 https://imp.i384100.net/LXYmq3 2. Python 語言 https://imp.i384100.net/5gmXXo 3. 統計和 R https://youtu.be/ANMuuq502rE?si=hw9GT6JVzMhRvBbF 4. 數 ...
  • 本文為大家介紹下.NET解壓/壓縮zip文件。雖然解壓縮不是啥核心技術,但壓縮性能以及進度處理還是需要關註下,針對使用較多的zip開源組件驗證,給大家提供個技術選型參考 之前在《.NET WebSocket高併發通信阻塞問題 - 唐宋元明清2188 - 博客園 (cnblogs.com)》講過,團隊 ...
  • 之前寫過兩篇關於Roslyn源生成器生成源代碼的用例,今天使用Roslyn的代碼修複器CodeFixProvider實現一個cs文件頭部註釋的功能, 代碼修複器會同時涉及到CodeFixProvider和DiagnosticAnalyzer, 實現FileHeaderAnalyzer 首先我們知道修 ...
  • 在軟體行業,經常會聽到一句話“文不如表,表不如圖”說明瞭圖形在軟體應用中的重要性。同樣在WPF開發中,為了程式美觀或者業務需要,經常會用到各種個樣的圖形。今天以一些簡單的小例子,簡述WPF開發中幾何圖形(Geometry)相關內容,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 在 C# 中使用 RabbitMQ 通過簡訊發送重置後的密碼到用戶的手機號上,你可以按照以下步驟進行 1.安裝 RabbitMQ 客戶端庫 首先,確保你已經安裝了 RabbitMQ 客戶端庫。你可以通過 NuGet 包管理器來安裝: dotnet add package RabbitMQ.Clien ...
  • 1.下載 Protocol Buffers 編譯器(protoc) 前往 Protocol Buffers GitHub Releases 頁面。在 "Assets" 下找到適合您系統的壓縮文件,通常為 protoc-{version}-win32.zip 或 protoc-{version}-wi ...
  • 簡介 在現代微服務架構中,服務發現(Service Discovery)是一項關鍵功能。它允許微服務動態地找到彼此,而無需依賴硬編碼的地址。以前如果你搜 .NET Service Discovery,大概率會搜到一大堆 Eureka,Consul 等的文章。現在微軟為我們帶來了一個官方的包:Micr ...
  • ZY樹洞 前言 ZY樹洞是一個基於.NET Core開發的簡單的評論系統,主要用於大家分享自己心中的感悟、經驗、心得、想法等。 好了,不賣關子了,這個項目其實是上班無聊的時候寫的,為什麼要寫這個項目呢?因為我單純的想吐槽一下工作中的不滿而已。 項目介紹 項目很簡單,主要功能就是提供一個簡單的評論系統 ...