专注 Blazor 开发,期待与你的项目合作。
联系我

Blazor Server项目模板

Apr 4, 2025

本项目是一款基于 Clean Architecture 架构设计的 Blazor Server 应用,拥有现代化的用户界面和高效的代码生成器。该应用采用 .NET 9 构建,旨在提供更卓越的性能、更高的开发效率以及更流畅的开发体验。

.NET 9 全面支持 Blazor Server,它将 C# 的强大功能与现代 Web 开发体验融为一体。这使得开发者无需在 JavaScript 和 C# 之间频繁切换,从而简化了开发流程,能够更轻松地构建响应迅速、交互性强的 Web 应用。结合 Blazor 的实时通信能力和 .NET 强大的生态系统,开发者可以快速打造功能丰富、可扩展且用户体验出色的系统。

Youtube video hCsHSNAs-70

为什么选择 Blazor Server?

Blazor Server 是我个人偏爱的 Web 开发模式之一。它带来了高度专注的开发体验——整个前后端均可使用 C# 完成,避免了在 C# 与 JavaScript 间频繁切换的困扰,显著提升了开发效率,并使项目更易于维护。

依托 SignalR 技术,Blazor Server 支持实时 UI 更新,使其成为构建管理后台、工作流程系统、文档识别 (OCR) 应用、组织结构图等多种企业级应用的理想选择。此模板中还集成了 Hangfire(用于计划任务的可视化管理)以及多种 OAuth2 第三方登录选项。

主要特性

  • Clean Architecture 架构分层:Domain / Application / Infrastructure / UI
  • 内置多种第三方登录(Google、Facebook、Microsoft)
  • 支持 Docker 和 Docker Compose,一键部署至生产环境
  • Visual Studio 2022 扩展:CleanArchitecture CodeGenerator (代码生成器)
  • 包含多个实际应用案例 (例如:数字产品护照 DPP、HSE 管理系统)
  • 支持 PostgreSQL, MSSQL 及 SQLite 等多种数据库
  • 已发布 NuGet 模板,方便快速创建新项目

演示地址

Docker Compose 部署示例

version: '3.8'
services:
  blazorserverapp:
    image: blazordevlab/cleanarchitectureblazorserver:1.2.10
    environment:
      - UseInMemoryDatabase=${USE_IN_MEMORY_DATABASE}
      - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT}
      - ASPNETCORE_URLS=${ASPNETCORE_URLS}
      - ASPNETCORE_HTTP_PORTS=${ASPNETCORE_HTTP_PORTS}
      - ASPNETCORE_HTTPS_PORTS=${ASPNETCORE_HTTPS_PORTS}
      - AppConfigurationSettings__ApplicationUrl=${APP_URL}
      - AppConfigurationSettings__AppName=${APP_NAME}
      - DatabaseSettings__DBProvider=${DB_PROVIDER}
      - DatabaseSettings__ConnectionString=${DB_CONNECTION_STRING}
      - SmtpClientOptions__User=${SMTP_USER}
      - SmtpClientOptions__Port=${SMTP_PORT}
      - SmtpClientOptions__Server=${SMTP_SERVER}
      - SmtpClientOptions__Password=${SMTP_PASSWORD}
      - SmtpClientOptions__DefaultFromEmail=${SMTP_DEFAULT_FROM}
      - Authentication__Microsoft__ClientId=${MS_CLIENT_ID}
      - Authentication__Microsoft__ClientSecret=${MS_CLIENT_SECRET}
      - Authentication__Google__ClientId=${GOOGLE_CLIENT_ID}
      - Authentication__Google__ClientSecret=${GOOGLE_CLIENT_SECRET}
      - Minio__Endpoint=${MINIO_ENDPOINT}
      - Minio__AccessKey=${MINIO_ACCESS_KEY}
      - Minio__SecretKey=${MINIO_SECRET_KEY}
      - Minio__BucketName=${MINIO_BUCKET}
    ports:
      - "8014:80"
      - "8015:443"

提示:请将上述环境变量(如 ${SMTP_USER})替换为您的实际配置值。

授权许可

本项目基于 MIT 许可证(一种宽松的开源许可证)授权。您可以自由地使用、修改和分发本代码,无论是用于个人还是商业用途,前提是必须保留原始的许可证和版权声明。

想更深入了解我在做什么?

我的 GitHub 记录了我大部分的项目和想法。欢迎浏览,一起探索更多技术的可能。

去 GitHub 看看