您的位置:首页 > 编程语言 > ASP

简易的开发框架(微服务) Asp.Net Core 2.0

2017-12-11 14:37 896 查看
Asp.Net Core 2.0 + Mysql Orm + Ioc + Redis + AOP + RabbitMQ + Etcd + Autofac + Swagger

基础框架: https://github.com/AmosLi443061626/.Net-Core-Development Etcd数据库分表分库是中间件去分: https://github.com/AmosLi443061626/EtcdWebMannger
以前是注册与发现,接入了thrift
后面发现docker -> k8s 自带系统级别的,就基础框架就ok .

注意事项:

不允许Join查询,可以使用多查的方式 >> 分表分库

配置获取统一用 ConfigManagerConf.Get("**") >> 扩展 etcd 动态更新

所有方法调用使用 IocContainer.Container.Get Ioc模式 >> AOP模式特性处理方法

日志记录使用 Log 方法 >> 扩展集中日志发送
初始化请看 Program.cs 文件

ORM请移至: https://github.com/yuzd/AntData.ORM

项目简介:

BusinessService:业务层(接口模式)

IStandard.Examples (接口层)

Standard.Examples (实现层)

DB(DB层)

DBContextEntity:qlServer/Mysql 模型生成层及默认DB初始化层
+mysql文件夹下:EntityRobotForMysql.tt 保存(Ctrl+S)即生成数据库模型;EntityRobotForMysql.tt中LoadMySqlMetadata
("连接字符串") 配置生成模型的数据库连接字符串

Domain(Model层)

Domains:业务model

Infrastructure(基础服务)

CacheOperation:缓存处理

Checks:验证扩展

Configs:配置信息管理(使用Etcd)

Exceptions:异常

Extensions:帮助层,内含 等扩展

Ioc(控制反转):控制反转全局组件

BaseAspectAttribute:基础属性

CacheAttribute:缓存属性

LoggerAttribute:日志属性

TopSubscribeAttribute:订阅属性

IocContainer.RegisterAssembly(实现,接口):注册组件
IocContainer.Container.Build()更新注册信息
IonCOntainer.Get()配置组件

Logs:日志 >> NLog.config

Mappering:DTO数据转换

MessageMQ:消息队列 (Rabbitmq)

Pools:池化扩展

RedisHelper:redis操作

Pools:池化扩展

Result:统一结果返回类

RequestExtend:Htpp请求扩展

startups(服务启动层)

startup(示列)

Filters(拦截)
LogFilterAttribute:日志拦截

所有的程序统一使用Ioc管理,要是程序生效,必须先到Program中注册

第一步: 使用ORM工具生成数据库模型
DB -> EntityRobotForMysql.tt 中 LoadMySqlMetadata("连接字符串") 配置生成模型的数据库连接字符串,然后保存生成数据模型
ORM 确定不能满足的情况下,请在DBContextEntity 项目中新建类,进行T-SQL编写,编写后调用;
ORM: 使用方式请查看

https://github.com/yuzd/AntData.ORM

第二步:Infrastructure(基础服务)->Configs->ConfigManagerConf 设置Mysql连接字符串
第三步: 编写业务及开放业务接口(方法统一返回参数:Result):

==

Docker + k8s + .Net Core + Etcd -> Pass
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐