• SnailAspNetCoreFramework框架系列博客


    写在前面的啰嗦话

      上次我介绍了自己的开源WebApi框架(https://www.cnblogs.com/shengyu-kmust/p/8279300.html),当时做此框架时,asp.net core 才出到1.0。现在asp.net core的版本已经到了3.1,以后core是大的趋势了。博主经过了将近两年的开发实践,结合自己项目上的经验,开发了基于asp.net core 3.1的另一个框架,本意是用于自己接私活时用。此框架包含代码生成功能,生成后端和前端的代码,并能自动生成数据库。我已经用此框架开发了几个项目,还是比较稳定的。项目使用的技术都是这两年在实践中总结和积累的技术点。现在开源出来,并打算做一系列的博文,对此框架的各各个技术点和功能做一个介绍。现在国内的.net行情不是太好,在网上一搜,全是java的,哎,博主现在31岁,坐标昆明,一个it技术很不发达的城市,在这里已经很难找到一个待遇对得起自己的工作了,每个月的房贷又重,中年人的悲催。。。此框架是我这几年的技术积累,利用业余时间做博文介绍和开源维护,希望能给国内的.net做一点贡献。如果你看到这系列博文,请不惜给个github star。谢谢!

    SnailAspNetCoreFramework介绍

    SnailAspNetCoreFramework是什么,能做什么?

    • 基于asp.net core 3.1的快速开发框架,针对后台管理类型项目、前后端分离
    • 只需一个配置文件,即可快速生成项目,包含后端代码、前端代码、数据库等代码。

    有什么功能,用了什么技术?

    • 项目总体是基于asp.net core 3.1,vue-element-admin,entityframework
    • 通用权限的实现,基于角色进行权限控制(RBAC设计),可自已定义User,Role等表,能很好的加入到现有的项目。
    • 定时任务功能,用hangfire技术,只需在方法上加上特性即可自动添加到定时任务
    • 多数据库支持,用entityframework,不需改代码即可适配MySql,Oracle,SqlServer,SqlLite等多种数据库
    • 良好的输入输出格式约定和异常处理
    • 接口文档Swagger,用NSwagger技术。接口描述支持、生产和开发环境停启用功能
    • 多种缓存技术,如接口缓存,service层的aop缓存,实体缓存等,支持本地缓存和分布式缓存的切换
    • 依赖注入aop功能,用autofac实现。已包含日志和缓存两种aop实现,各service会自动注入
    • eventbus,用cap实现。
    • command bus,集成Mediator
    • 通用CRUD功能,controller、service和dal层的CRUD代码自动生成
    • 实时通讯,用Signalr
    • 日志功能,用NLog
    • 代码生成功能,用t4模块生成各层级的代码
    • 单元测试,用xunit,测试项目已经搭建好,只需写测试用例
    • entityframework code first,根据代码生成数据库。提供migrate和ensureCreated两种方式,分别适用于持续更新版本和快速搭建上线两种情况
    • automapper,已实现所有Entity和Dto之间的映射
    • 前端常用的组件,如CRUD组件,table组件,form表单组件,这个组件只需一个配置json可即完成常用的完整功能,不再重复敲代码

    如何下载和使用

    • 项目github地址为:https://github.com/shengyu-kmust/SnailAspNetCoreFramework,本次的系列博文是基于tag=v1.0,以后此项目会持续更新维护。
    • 项目的简单入门教程请看如下gif
    • 下载和运行项目

    • 自动生成功能的配置

    • 运行效果

    后续会有系列博文对此框架做一个详细的介绍,暂时定义如下章节

    • 1.框架内各项目及目录的介绍和总设计思路——SnailAspNetCoreFramework快速开发框架
    • 2.接口输入校验、输出格式、及异常处理——SnailAspNetCoreFramework快速开发框架之后端设计
    • 3.通用权限设计——SnailAspNetCoreFramework快速开发框架之后端设计
    • 4.如何提供给前端良好的接口文档(Swagger)——SnailAspNetCoreFramework快速开发框架之后端设计
    • 5.各场景下的缓存使用——SnailAspNetCoreFramework快速开发框架之后端设计
    • 6.基于castle的AOP设计和常用缓存、性能、日志拦截器实现——SnailAspNetCoreFramework快速开发框架之后端设计
    • 7.依赖注入介绍之autofac——SnailAspNetCoreFramework快速开发框架之后端设计
    • 8.为什么用Eventbus,怎么用——SnailAspNetCoreFramework快速开发框架之后端设计
    • 9.日志组件之Nlog介绍——SnailAspNetCoreFramework快速开发框架之后端设计
    • 10.Mediatr介绍——SnailAspNetCoreFramework快速开发框架之后端设计
    • 11.controller、service、dal层的通用CRUD设计——SnailAspNetCoreFramework快速开发框架之后端设计
    • 12.对象映射之利器automapper——SnailAspNetCoreFramework快速开发框架之后端设计
    • 13.如何监控ef生成的sql语句——SnailAspNetCoreFramework快速开发框架之后端设计
    • 14..net core的几种部署方式介绍——SnailAspNetCoreFramework快速开发框架之后端设计
    • 15.实时通讯之signalr——SnailAspNetCoreFramework快速开发框架之后端设计
    • 16.如何用ef code first进行项目的数据库版本持续迭代——SnailAspNetCoreFramework快速开发框架之后端设计
    • 17.代码自动生成功能介绍——SnailAspNetCoreFramework快速开发框架之后端设计
    • 18.如何监控项目的各个功能是否正常(HealthCheck)——SnailAspNetCoreFramework快速开发框架之后端设计
    • 19.定时任务之hangfire介绍——SnailAspNetCoreFramework快速开发框架之后端设计
    • 20.前端总体介绍——SnailAspNetCoreFramework快速开发框架之前端设计
    • 21.再也不用跪求后端接口了(MOCK的使用)——SnailAspNetCoreFramework快速开发框架之前端设计
    • 22.前端的权限控制——SnailAspNetCoreFramework快速开发框架之前端设计
    • 23.如何避免重复写前端的CRUD代码(前端各种SnailXXX组件介绍和使用)——SnailAspNetCoreFramework快速开发框架之前端设计
    • 24.请求代理介绍——SnailAspNetCoreFramework快速开发框架之前端设计

     

    基于asp.net的前端框架请移步到如下博文

    webapi框架搭建系列博客

     
  • 相关阅读:
    函数式编程中的基本概念
    【VS】Visual Studio 就可以反编译查看源码了,再见了 Reflector
    【C#】CsvHelper 使用手册
    【C#】使用 System.Globalization.DateTimeFormatInfo 屏蔽系统时间格式对代码的影响
    【swagger】C# 中 swagger 的使用及避坑
    【C#】Newtonsoft.Json 中 JArray 添加数组报错:Could not determine JSON object type for type 'xxx'
    【C#】比较 Random 与 RandomNumberGenerator 生成随机字符串
    【C#】正则进阶
    【C#】写文件时如何去掉编码前缀
    【C#】定时器保活机制引起的内存泄露问题
  • 原文地址:https://www.cnblogs.com/shengyu-kmust/p/13397738.html
Copyright © 2020-2023  润新知