SyZero.AspNetCore 1.1.4-dev.2

This is a prerelease version of SyZero.AspNetCore.
There is a newer version of this package available.
See the version list below for details.
dotnet add package SyZero.AspNetCore --version 1.1.4-dev.2
                    
NuGet\Install-Package SyZero.AspNetCore -Version 1.1.4-dev.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SyZero.AspNetCore" Version="1.1.4-dev.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SyZero.AspNetCore" Version="1.1.4-dev.2" />
                    
Directory.Packages.props
<PackageReference Include="SyZero.AspNetCore" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SyZero.AspNetCore --version 1.1.4-dev.2
                    
#r "nuget: SyZero.AspNetCore, 1.1.4-dev.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SyZero.AspNetCore@1.1.4-dev.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SyZero.AspNetCore&version=1.1.4-dev.2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=SyZero.AspNetCore&version=1.1.4-dev.2&prerelease
                    
Install as a Cake Tool

SyZero.AspNetCore

SyZero 框架的 ASP.NET Core Web 层扩展,提供统一的 Web 应用配置和中间件支持。

📦 安装

dotnet add package SyZero.AspNetCore

✨ 特性

  • 🚀 统一配置 - 一键配置 ASP.NET Core 应用
  • 🎯 MVC 扩展 - 自定义 MVC 选项和过滤器
  • 🔒 异常处理 - 统一的异常处理中间件
  • 📝 日志集成 - 集成 SyZero 日志系统

🚀 快速开始

1. 配置 appsettings.json

{
  "Server": {
    "Name": "MyWebApp",
    "Port": 5000
  }
}

2. 注册服务

// Program.cs
var builder = WebApplication.CreateBuilder(args);
// 添加SyZero
builder.AddSyZero();

// 注册服务方式1 - 使用默认配置
builder.Services.AddSyZeroAspNet();

// 注册服务方式2 - 使用委托配置
builder.Services.AddSyZeroAspNet(options =>
{
    options.EnableExceptionHandler = true;
    options.EnableModelValidation = true;
});

// 注册服务方式3 - 添加 MVC 扩展
builder.Services.AddControllers()
    .AddSyZeroMvcOptions();

var app = builder.Build();
// 使用SyZero
app.UseSyZero();
app.Run();

3. 使用示例

[ApiController]
[Route("api/[controller]")]
public class UserController : SyZeroControllerBase
{
    private readonly IUserService _userService;

    public UserController(IUserService userService)
    {
        _userService = userService;
    }

    [HttpGet("{id}")]
    public async Task<UserDto> GetAsync(long id)
    {
        return await _userService.GetUserAsync(id);
    }
}

📖 配置选项

属性 类型 默认值 说明
EnableExceptionHandler bool true 启用统一异常处理
EnableModelValidation bool true 启用模型验证
EnableCors bool false 启用跨域支持

📖 API 说明

SyZeroControllerBase 基类

属性/方法 说明
CurrentUser 获取当前登录用户
Success(data) 返回成功响应
Fail(message) 返回失败响应

所有控制器推荐继承自 SyZeroControllerBase


🔧 高级用法

自定义异常处理

builder.Services.AddSyZeroAspNet(options =>
{
    options.ExceptionHandler = (context, exception) =>
    {
        // 自定义异常处理逻辑
    };
});

添加自定义过滤器

builder.Services.AddControllers(options =>
{
    options.Filters.Add<CustomActionFilter>();
}).AddSyZeroMvcOptions();

⚠️ 注意事项

  1. 中间件顺序 - UseSyZero() 应在其他中间件之前调用
  2. 异常处理 - 统一异常处理会捕获所有未处理异常
  3. 模型验证 - 启用后会自动返回验证错误响应

📄 许可证

MIT License - 详见 LICENSE

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.4 88 1/2/2026
1.1.4-dev.2 39 1/2/2026
1.1.4-dev.1 43 12/30/2025
1.1.3 89 12/30/2025
1.1.3-dev.6 44 12/30/2025
1.1.3-dev.3 108 1/19/2024
1.1.3-dev.2 175 11/3/2023
1.1.3-dev.1 169 3/21/2023
1.1.2 377 3/15/2023
1.1.2-dev.108.29344 183 3/15/2023
1.1.2-dev.108.28054 173 3/15/2023
1.1.2-dev.108.27487 177 3/15/2023
1.1.1 339 3/15/2023
1.1.1-dev.108.14980 181 3/15/2023
1.1.1-dev.108.13289 170 3/15/2023
1.1.1-dev.107.27144 174 3/14/2023
1.1.0 352 3/14/2023
1.1.0-workflow-dev.107.22552 179 3/14/2023
1.1.0-workflow-dev.107.21746 180 3/14/2023
1.1.0-workflow-dev.107.21506 179 3/14/2023
1.1.0-workflow-dev.107.20979 176 3/14/2023
1.1.0-dev.107.26364 180 3/14/2023
1.1.0-dev.107.24396 182 3/14/2023
1.1.0-dev.107.22787 186 3/14/2023
1.0.6 596 3/5/2022
1.0.4 704 6/13/2020
1.0.1 719 2/20/2020