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 驱动的一些封装,方便使用以及一些常用默认配置
  • 雪花 ID,一些常用的数据类型,枚举,扩展方法等
  • 自动模块化注入服务,新增支持 WPF,WinForm 等项目,需使用 IHost 通用主机模式
  • MongoDB 添加 DateOnly 和 TimeOnly 的支持(序列化到 String 或 long), dynamic 类型支持
  • MongoDB GridFS 用法的简单支持(常用用法)和使用案例.
  • 在 WebAPI 中集成一些常见的过滤器和中间件
  • 对 Swagger 文档添加分组,隐藏 API 和添加部分数据类型默认值显示的支持,方便前端工程师查阅
  • 对 MongoDB 执行命令添加个性化输出,以及 Diagnostics 数据到 APM.(EasilyNET.Mongo.ConsoleDebug)
  • 部分库的使用案例
English
  • AES,DES,RC4,TripleDES,RSA,SM2,SM3,SM4 encryption, signature verification and other algorithms.
  • Message bus implementation based on RabbitMQ.
  • Some encapsulation of MongoDB driver for easy use and some common default configurations.
  • Snowflake ID, some common data types, enumerations, extension methods, etc.
  • Automatic modular injection services, adding support for WPF, WinForm and other projects, using IHost common host mode.
  • Added support for DateOnly and TimeOnly in MongoDB(serialized to String or long), dynamic type support.
  • Simple support for MongoDB GridFS usage (common usage) and usage examples.
  • Integration of some common filters and middleware in WebAPI.
  • Added support for grouping, hiding APIs, and displaying default values for some data types in Swagger documents, making it easier for front-end engineers to refer to.
  • Added personalized output for executing MongoDB commands, Diagnostics data to APM (EasilyNET.Mongo.ConsoleDebug).
  • Usage examples of some libraries.

近期更新内容(Recent Updates)

  • RabbitMQ 消息序列化默认采用 Text.Json, 可通过实现 IBusSerializer 接口自定义序列化方式支持
English
  • RabbitMQ message serialization defaults to Text.Json, custom serialization methods can be supported 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 后即可删除掉你自己的仓库.