项目作者: T-Manson

项目描述 :
基于 .Net Core 的后端基础框架
高级语言: C#
项目地址: git://github.com/T-Manson/Dragon.git


Dragon

基于 .Net Core 的后端基础框架

项目介绍

基于 .Net Core 的一套后端通用基础框架,用于快速搭建WebApi项目。集成Redis、Dapper、RabbitMQ、AutoMapper、Newtonsoft.Json。加入了常用工具类避免造轮子的工作。

技术选型

技术 简介 官网
.Net Core 开源跨平台的技术框架 https://dotnet.microsoft.com
StackExchange.Redis Redis中间件 https://github.com/StackExchange/StackExchange.Redis
Dapper ORM框架 https://github.com/StackExchange/Dapper
RabbitMQ.Client RabbitMQ中间件 https://github.com/rabbitmq/rabbitmq-dotnet-client
AutoMapper 对象映射中间件 https://github.com/AutoMapper/AutoMapper
Newtonsoft.Json Json中间件 https://github.com/JamesNK/Newtonsoft.Json

功能说明

中文转拼音功能

Inspired by PinYinConverter.

Microsoft.International.Converters.PinYinConverter in Microsoft Visual Studio International Pack 1.0 SR1.

MemoryCache

注入接口类型:

ICacheManager

特别说明

默认实现消息通知起到local缓存更新后分布式应用间的数据同步功能。未启用MessageBus功能时,该功能不会启用。

当MessageBus使用RabbitMQ时,需要配置一个名为cache.sync的channel

Redis

注入接口类型:

ICacheManager

HybridCache

注入接口类型:

ICacheManager

IMemoryCacheManager

IRedisCacheManager

RabbitMQ

注入接口类型:

IMessageBus

RedisBus

注入接口类型:

IMessageBus

配置

完整示例

应用名称

  1. "AppName": ""

数据库

  1. "Data": {
  2. // 默认使用的连接配置键名
  3. "DefaultConnectionName": "default",
  4. // 连接串集合
  5. "ConnectionStrings": {
  6. // 默认(读串)
  7. "default": {
  8. // 连接串
  9. "ConnectionString": "server=127.0.0.1;Database=mytest;UID=root;PWD=root;SslMode=None;",
  10. // 数据库类型(默认MySql
  11. "DatabaseProviderType": "MySql|SqlServer"
  12. }
  13. //,
  14. // 写串
  15. //"write": {
  16. // "ConnectionString": "server=;Database=;UID=;PWD=;Charset=utf8;SslMode=None;",
  17. // "DatabaseProviderType": "SqlServer"
  18. //}
  19. },
  20. // Dapper 配置
  21. "Dapper": {
  22. // 数据库映射策略(默认Underline
  23. "DbIdentifierMappingStrategy": "Underline|PascalCase",
  24. // 大小写规则(默认LowerCase
  25. "CapitalizationRule": "LowerCase|UpperCase|Original"
  26. }
  27. }

缓存

  1. "Cache": {
  2. // Redis配置
  3. "Redis": {
  4. // IP,必须
  5. "Host": "127.0.0.1",
  6. // 端口,必须
  7. "Port": 6379,
  8. // 密码,必须
  9. "Password": "123456",
  10. // Key的区域区分系统,必须
  11. "Region": "应用名或其他能够隔离缓存的值",
  12. // DB下标,不配置则默认0
  13. "Db": 0
  14. }
  15. }

消息

RedisBus

与Cache节点下Redis共用配置。缓存配置

RabbitMQ

  1. "RabbitMQ": {
  2. // RabbitMQ默认配置
  3. "Default": {
  4. // Uri,必须
  5. "Uri": "127.0.0.1",
  6. // 用户名,必须
  7. "Username": "username",
  8. // 密码,必须
  9. "Password": "123456",
  10. // Exchange,必须
  11. "Exchange": "test"
  12. }
  13. }