.NET 8 + Blazor 多租户、模块化、DDD框架、开箱即用
前言
基于 .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 文件中修改 DatabaseOptions 的 ConnectionString 字符串连接。
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
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

.NET 8 + Blazor 多租户、模块化、DDD框架、开箱即用的更多相关文章
- DDD框架基础知识
DDD框架基础知识 参考: https://www.cnblogs.com/zhili/p/OnlineStorewithDDD.html(领域驱动设计,分层架构) https://www.cnblo ...
- 从Nest到Nesk -- 模块化Node框架的实践
文: 达孚(沪江Web前端架构师) 本文原创,转至沪江技术 首先上一下项目地址(:>): Nest:https://github.com/nestjs/nest Nesk:https://git ...
- cube.js 开源模块化分析框架
cube.js 是一款很不错的模块化web 应用分析框架.cube.js 的设计主要是面向serverless 服务, 但是同时也支持所有rdbms, cube.js不是一个单体应用,包含了以下部分: ...
- Lind.DDD.DynamicModules动态模块化的设计
回到目录 在Lind.DDD框架里有Module,主要用于全局自动添加的模块,它类似于ABP系统里的Module,但有时过于自动化了可能使系统太死板,而有时将需要的模块手动载入可能对我们更合适,所以大 ...
- 极简实用的Asp.NetCore模块化框架决定免费开源了
背景 在开发这个框架之前,前前后后看过好几款模块化的框架,最后在一段时间内对ABP VNext痛下狠心,研究一段时间后,不得不说 ABP VNext的代码层面很规范,也都是一些最佳实践,开发出一个模块 ...
- Lind.DDD敏捷领域驱动框架~介绍
回到占占推荐博客索引 最近觉得自己的框架过于复杂,在实现开发使用中有些不爽,自己的朋友们也经常和我说,框架太麻烦了,要引用的类库太多:之前架构之所以这样设计,完全出于对职责分离和代码附复用的考虑,主要 ...
- Lind.DDD敏捷领域驱动框架~Lind.DDD各层介绍
回到目录 Lind.DDD项目主要面向敏捷,快速开发,领域驱动等,对于它的分层也是能合并的合并,比之前大叔的框架分层更粗糙一些,或者说更大胆一些,在开发人员使用上,可能会感觉更方便了,更益使用了,这就 ...
- Lind.DDD.Messaging框架通讯组件介绍
回到目录 大 家好,今天有时间来介绍一下Lind.DDD框架里的消息机制,消息发送这块一般的实现方法是将Email,SMS等集成到一个公用类库里,而本身 Email和SMS没什么关系,它们也不会有什么 ...
- DDD实战进阶第一波(三):开发一般业务的大健康行业直销系统(搭建支持DDD的轻量级框架二)
了解了DDD的好处与基本的核心组件后,我们先不急着进入支持DDD思想的轻量级框架开发,也不急于直销系统需求分析和具体代码实现,我们还少一块, 那就是经典DDD的架构,只有了解了经典DDD的架构,你才能 ...
- .NET Core 又一杀器! Web Blazor框架横空出世!
多年来,Javascript(及其子框架)已在浏览器中运行DOM(文档对象模型),并且掌握了脚本知识才能真正操作客户端UI.大约2年前,所有这些都随着Web Assembly的引入而发生了变化-Web ...
随机推荐
- mysql 查询差集方法
第一种是通过not in的方式去处理: select id from table_a where id not in (select id from table_b); 第二种则是通过左连接(left ...
- 一文了解Spark引擎的优势及应用场景
Spark引擎诞生的背景 Spark的发展历程可以追溯到2009年,由加州大学伯克利分校的AMPLab研究团队发起.成为Apache软件基金会的孵化项目后,于2012年发布了第一个稳定版本. 以下是S ...
- windows server 安装.net framework 3.5失败
windows server如果高版本的.net framework 那么在安装.net framework3.5时会提示已安装高版本的不能安装低版本的了 ---------------------- ...
- Linux实时查看Java接口数据
1.Linux实时查看Java接口数据的方法 在Linux系统中实时查看Java接口数据通常涉及几个步骤: (1)编写Java应用程序:首先,我们需要有一个Java应用程序,它暴露了一个或多个HTTP ...
- 可以把 FolkMQ 内嵌到 SpringBoot3 项目里(可内嵌的消息中间件,纯血国产)
之前发了<把 FolkMQ 内嵌到 SpringBoot2 项目里(比如 "诺依" 啊)>.有人说都淘态了,有什么好内嵌的...所以再发个 SpringBoot3 Fo ...
- ENSP的VirtualBox虚拟网卡不能用
VirtualBox 安装好后本地会新建一个名为 "VirtualBox Host-Only Network" 的虚拟网卡,虚拟机可以通过这个虚拟网卡网卡和物理机通信.但ENSP有 ...
- VSCode因网络问题导致下载更新/扩展出错
VSCode因网络问题导致下载更新/扩展出错 可尝试方法: 问题0: VSCode出现网络问题排查方法? 法1: 启动时加上选项 --log-net-log=netlog.json ...
- P3355 骑士共存问题题解
题目链接:P3355 骑士共存问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题解: 棋盘问题考虑黑白染色成为二分图后做. 观察马的性质,可知一个点只能到一个异色点,所以,构造 ...
- 从安装到配置,教你用Argo CD对接CCE集群完成测试、生产部署
本文分享自华为云社区<Argo CD对接CCE完成不同测试.生产环境业务部署>,作者: 可以交个朋友. 一 背景说明 Argo CD是用于Kubernetes的声明性GitOps持续交付工 ...
- Spring声明事务和分布式事务处理技术
Spring声明事务的两种方式 方式一.传统的编程式事务管理: 需要手动编写代码在业务层注入事务管理模板(一般不用) 方式二.基于 AOP 技术实现的声明式事务管理: Spring 声明式事务管理在底 ...