LingYanAspCoreFramework 8.9.0
LingYan_ASPFramework
介绍
LingYan_ASPFramework 是一个用于构建 ASP.NET Core 应用程序的框架,支持模块化架构、特性自动注册、动态路由、权限处理、全局过滤、仓储模式和工作单元模式。它旨在提高开发效率并简化常见的开发任务,如数据库操作、服务注册和请求处理。
使用说明
模块化基类
框架提供了多种模块化基类来支持应用程序的不同部分,包括:
BaseModule<WebApplicationBuilder, WebApplication>BaseModule<IServiceCollection, IServiceProvider>BaseModule<IServiceCollection, IConfigurationManager, IServiceProvider>
这些基类允许开发者以统一和可扩展的方式注册服务和初始化模块。
特性自动注册
框架支持通过特性自动注册服务和组件,这些特性包括:
LYTServiceAttribute: 用于标记服务类,实现自动服务注册。LYInstanceAttribute: 用于标记需要注册为实例的类。LYDynamicRouteAttribute: 用于支持动态路由的控制器类。LYAuthorizeHandlerAttribute: 用于权限处理类。LYGlobalFilterAttribute: 用于标记全局过滤器。LYManagerAttribute: 用于领域管理类。LYMiddlewareAttribute: 用于中间件类。LYDbContextAttribute: 用于数据库上下文类。
这些特性简化了服务、路由和过滤器的注册过程,使得代码更加整洁和易维护。
仓储与工作单元
框架内置了仓储模式 (IRepository) 和工作单元模式 (IUnitOfWork) 来统一管理数据访问逻辑。这些接口支持同步和异步操作,包括:
- 查询操作 (
GetAll,GetPagedList) - 插入、更新和删除 (
Insert,Update,Delete) - 聚合操作 (
Count,Sum,Average) - 事务管理 (
SaveChanges,SaveChangesAsync)
仓储模式支持多种数据库操作,如 SQL Server、MySQL 和 PostgreSQL,并且可以通过特性 (LYDbContextAttribute) 进行自定义配置。
安装与配置
要使用此框架,请确保您的项目已安装 .NET Core SDK 并支持 8.0 或更高版本。然后,将框架引用到您的项目中,并根据需求注册模块和数据库上下文。
示例代码
// 示例:服务注册
[LYTService(typeof(ITestService))]
public class TestService : ITestService
{
public ResponceBody<string> TestBack()
{
return new ResponceBody<string>("Test successful", 200);
}
}
// 示例:动态路由控制器
[LYDynamicRoute]
public class TestDynamicRoute : BaseDynamicRoute
{
[HttpGet]
public IActionResult TestGet()
{
return Ok("Dynamic route accessed via GET");
}
}
许可证
本项目采用 MIT 许可证。详情请查看 LICENSE 文件。
贡献
欢迎贡献!如果您有任何想法或改进,请提交 Pull Request 或创建 Issue。
No packages depend on LingYanAspCoreFramework.
.NET 8.0
- AlibabaCloud.SDK.Dysmsapi20170525 (>= 3.3.0)
- CSRedisCore (>= 3.8.807)
- Essensoft.Paylink.Alipay (>= 4.1.9)
- Essensoft.Paylink.Security (>= 4.1.9)
- Essensoft.Paylink.WeChatPay (>= 4.1.9)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 8.0.23)
- Microsoft.AspNetCore.Mvc.NewtonsoftJson (>= 8.0.23)
- Microsoft.EntityFrameworkCore.AutoHistory (>= 6.0.0)
- Microsoft.EntityFrameworkCore.Design (>= 9.0.12)
- Microsoft.EntityFrameworkCore.SqlServer (>= 9.0.12)
- Microsoft.EntityFrameworkCore.Sqlite (>= 9.0.12)
- Microsoft.Extensions.DependencyModel (>= 10.0.2)
- Microsoft.IdentityModel.JsonWebTokens (>= 8.15.0)
- NLog.Database (>= 5.5.1)
- NLog.Web.AspNetCore (>= 5.5.0)
- Npgsql.EntityFrameworkCore.PostgreSQL (>= 9.0.4)
- Oracle.EntityFrameworkCore (>= 9.23.26100)
- Polly (>= 8.6.5)
- Pomelo.EntityFrameworkCore.MySql (>= 9.0.0)
- Portable.BouncyCastle (>= 1.9.0)
- SkiaSharp.NativeAssets.Linux.NoDependencies (>= 3.119.1)
- SkiaSharp.QrCode (>= 0.12.0)
- Swashbuckle.AspNetCore.SwaggerGen (>= 7.3.2)
- Swashbuckle.AspNetCore.SwaggerUI (>= 7.3.2)
- TencentCloudSDK (>= 3.0.1374)
- Yitter.IdGenerator (>= 1.0.15)
- ZXing.Net (>= 0.16.11)
| Version | Downloads | Last updated |
|---|---|---|
| 8.9.3 | 4 | 2/12/2026 |
| 8.9.2 | 2 | 2/12/2026 |
| 8.9.1 | 10 | 2/1/2026 |
| 8.9.0 | 2 | 1/27/2026 |
| 8.0.8 | 2 | 1/27/2026 |
| 8.0.7 | 29 | 5/7/2025 |
| 8.0.6 | 12 | 5/7/2025 |
| 8.0.5 | 15 | 4/19/2025 |
| 8.0.4 | 10 | 4/19/2025 |
| 8.0.3 | 12 | 4/19/2025 |
| 8.0.2 | 12 | 4/19/2025 |
| 8.0.1 | 18 | 4/19/2025 |
| 8.0.0 | 12 | 4/16/2025 |
| 3.0.0 | 11 | 4/16/2025 |
| 2.0.8 | 19 | 1/17/2025 |
| 2.0.7 | 14 | 1/16/2025 |
| 2.0.6 | 12 | 1/16/2025 |
| 2.0.5 | 12 | 1/15/2025 |
| 2.0.4 | 11 | 1/15/2025 |
| 2.0.3 | 14 | 1/15/2025 |
| 2.0.2 | 13 | 1/15/2025 |
| 2.0.1 | 12 | 1/15/2025 |
| 2.0.0 | 15 | 1/15/2025 |
| 1.1.9 | 17 | 12/9/2024 |
| 1.1.8 | 11 | 12/9/2024 |
| 1.1.7 | 19 | 10/29/2024 |
| 1.1.6 | 14 | 10/29/2024 |
| 1.1.5 | 12 | 10/29/2024 |
| 1.1.4 | 14 | 10/29/2024 |
| 1.1.3 | 13 | 9/12/2024 |
| 1.1.2 | 11 | 9/9/2024 |
| 1.1.1 | 11 | 9/5/2024 |