Skip to content

joesdu/EasilyNET

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EasilyNET

License ISSUES FORKS STARS Commit Activity Last Commit

Welcome EasilyNET

注意: 由于本项目一般会试用和支持最新版本的.NET SDK,所以为了保证你能正常编译,请确保运行之前安装当前最新版本的 SDK

解决 git 不区分大小

git config core.ignorecase false
  • 使用 docker-compose 启动 MongoDB 副本集集群,使用本项目中的 yml 文件启动 MongoDB 副本集集群
docker compose -f docker-compose.mongo.rs.yml up -d
  • 若要测试本项目,请启动如下服务,若想测试 MongoDB 则需启动上述 MongoDB 服务
docker compose -f docker-compose.basic.service.yml up -d
  • 目前包含的服务列表如下:
服务名称 服务描述 端口映射 镜像名称
Garnet 缓存 6379 ghcr.io/microsoft/garnet:latest
RabbitMQ 消息队列 15672,5672 ghcr.io/joesdu/rabbitmq-dlx:latest
AspireDashboard 可观测性 18888,4317 mcr.microsoft.com/dotnet/nightly/aspire-dashboard:latest

EasilyNET Packages

  • AES,DES,RC4,TripleDES,RSA,SM2,SM3,SM4 加密,验签等算法
  • 基于 RabbitMQ 的消息总线实现
  • 对 MongoDB 驱动的一些封装,方便使用以及一些常用默认配置,支持通过特性标注索引(新).
  • 一些常用的数据类型,枚举,扩展方法等
  • 自动模块化注入服务,新增支持 WPF,WinForm 等项目,需使用 IHost 通用主机模式
  • MongoDB 添加 DateOnly 和 TimeOnly 的支持(序列化到 String 或 long), dynamic 类型支持
  • MongoDB GridFS 用法的简单支持(常用用法)和使用案例.
  • 在 WebAPI 中集成一些常见的过滤器和中间件
  • 对 Swagger 文档添加分组,隐藏 API 和添加部分数据类型默认值显示的支持,方便前端工程师查阅
  • 对 MongoDB 执行命令添加个性化输出,以及 Diagnostics 数据到 APM.(EasilyNET.Mongo.ConsoleDebug)
  • 部分库的使用案例
English
  • Encryption and signature algorithms: AES, DES, RC4, TripleDES, RSA, SM2, SM3, SM4.
  • Message bus implementation based on RabbitMQ.
  • Encapsulation and extension for MongoDB driver, with convenient usage and common default configurations. Supports attribute-based index definition (new).
  • Common data types, enums, extension methods, etc.
  • Automatic modular service injection, with added support for WPF, WinForm, and other projects using the IHost generic host mode.
  • Adds support for DateOnly and TimeOnly in MongoDB (serialized as string or long), and dynamic type support.
  • Simple support and usage examples for MongoDB GridFS (common scenarios).
  • Integration of common filters and middleware in WebAPI.
  • Adds grouping, API hiding, and default value display for some data types in Swagger documentation, making it easier for frontend engineers to reference.
  • Personalized output for MongoDB command execution and Diagnostics data to APM (EasilyNET.Mongo.ConsoleDebug).
  • Usage examples for some libraries.

近期更新内容(Recent Updates)

  • RabbitMQ 消息序列化默认采用 Text.Json, 可通过实现 IBusSerializer 接口自定义序列化方式支持
English
  • RabbitMQ message serialization now uses Text.Json by default. You can customize the serialization method by implementing the IBusSerializer interface.

Core

NuGet Package Version Download Document
EasilyNET.Core Nuget Nuget 文档
EasilyNET.WebCore Nuget Nuget 文档
EasilyNET.WebCore.Swagger Nuget Nuget 文档

Framework

NuGet Package Version Download Document
EasilyNET.AutoDependencyInjection Nuget Nuget 文档
EasilyNET.RabbitBus.AspNetCore Nuget Nuget 文档
EasilyNET.Security Nuget Nuget 文档

Mongo

NuGet Package Version Download Document
EasilyNET.Mongo.AspNetCore Nuget Nuget 文档
EasilyNET.Mongo.ConsoleDebug Nuget Nuget 文档

感谢 JetBrains 对本项目的支持!

Thanks JetBrains

如何为本项目做出贡献

  • Fork 本项目到你自己的仓库.
  • 创建一个属于你自己的分支,名字随便你怎么取.
  • 然后提交代码到你自己仓库的分支上.
  • 然后到本项目创建一个 PR.
  • 等待管理员合并 PR 后即可删除掉你自己的仓库.
English

How to contribute to this project

  • Fork this repository to your own GitHub account.
  • Create a new branch with any name you like.
  • Commit your code to your branch.
  • Create a Pull Request (PR) to this repository.
  • After your PR is merged by the maintainer, you can delete your forked repository.