GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - qiukebin/Blog.Core: ASP.NET Core 2.2/3.1 教程,前后端分离的后端接口,vue教程的姊妹篇

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

514 Commits
514 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
.template.config
.template.config
 
 
Blog.Core.Common
Blog.Core.Common
 
 
Blog.Core.FrameWork
Blog.Core.FrameWork
 
 
Blog.Core.IRepository
Blog.Core.IRepository
 
 
Blog.Core.IServices
Blog.Core.IServices
 
 
Blog.Core.Model
Blog.Core.Model
 
 
Blog.Core.Repository
Blog.Core.Repository
 
 
Blog.Core.Services
Blog.Core.Services
 
 
Blog.Core.Tasks
Blog.Core.Tasks
 
 
Blog.Core.Tests
Blog.Core.Tests
 
 
Blog.Core
Blog.Core
 
 
.gitignore
.gitignore
 
 
Blog.Core.Build.bat
Blog.Core.Build.bat
 
 
Blog.Core.Publish.bat
Blog.Core.Publish.bat
 
 
Blog.Core.System.Architecture.png
Blog.Core.System.Architecture.png
 
 
Blog.Core.sln
Blog.Core.sln
 
 
CreateYourProject.bat
CreateYourProject.bat
 
 
KillPort.bat
KillPort.bat
 
 
LICENSE
LICENSE
 
 
README-en.md
README-en.md
 
 
README.md
README.md
 
 
codecov.yml
codecov.yml
 
 

Repository files navigation

Dev Build::

Gitter sdk Build status codecov License MIT Language star this repo fork this repo 博客园

   

ENGLISH | 中文版

Logo

从零开始搭建自己的前后端分离【 .NET Core3.1 Api + Vue 2.x 】框架。

 

系统架构图

系统架构图

 

 

系统压测结果报告

  其他接口压测内存占用在:220~350 m 之间,具体的,自行压测即可。  

系统压测结果报告

 

如果你感觉看着这整个项目比较费劲,我单抽出来了几个子Demo,方便学习,项目地址 :https://github.com/anjoy8/BlogArti

这只是 .netCore 后端部分,前端部分请看我的另三个Vue工程项目

       

个人博客Vue版本 tBug项目Nuxt版本 VueAdmin管理后台(更新中)
https://github.com/anjoy8/Blog.Vue https://github.com/anjoy8/Nuxt.tBug https://github.com/anjoy8/Blog.Admin
http://vueblog.neters.club http://tibug.neters.club http://vueadmin.neters.club

 

初始项目

不要再使用 .sql 文件了,不更新了,用下边动图的方法,直接 seed data.

数据查看:Blog.Core.Data.json

文章讲解:支持多种数据库 & 快速数据库生成

 

操作流程

 

Nuget Packages

Package NuGet Stable Downloads
Blog.Core.Webapi.Template Blog.Core.Webapi.Template Blog.Core.Webapi.Template

关于如何使用,点击这里:https://www.cnblogs.com/laozhang-is-phi/p/10205495.html

   

其他后端框架

目前一共开源四个框架项目,感兴趣的可以看看

单层项目 简单仓储框架 仓储+服务+接口 DDD框架
CURD+Seed CURD+Seed+DI CURD+Seed+DI+AOP等 DDD+EFCore+DI+EventBus等
NetCore-Sugar-Demo Blog.SplRepository.Demo Blog.Core ChristDDD
- Blog-EFCore-Sqlite - -

   

给个星星! ⭐️

如果你喜欢这个项目或者它帮助你, 请给 Star~(辛苦星咯)


Tips:


1【重要】、Blog.Core.FrameWork 项目是用T4模板生成文件的简单实现。如果有错误,可以联系我,
QQ群:867095512
如果你不想处理这个错误,你可以先把项目卸载,不影响整体运行。


2【重要】、项目中,有四个AOP的操作类,分别是Redis缓存切面,memory缓存切面、Log日志切面、Tran事务切面
你可以在自定义开关,对其进行是否启用,在 appsettings.json 中的:

    "RedisCachingAOP": {
      "Enabled": false,
      "ConnectionString": "127.0.0.1:6319"
    },
    "MemoryCachingAOP": {
      "Enabled": true
    },
    "LogAOP": {
      "Enabled": false
    },
    "TranAOP": {
      "Enabled": false
    },


3【重要】、如何你使用Redis,需要安装Redis服务端,安装和使用说明地址:
https://www.cnblogs.com/laozhang-is-phi/p/9554210.html#autoid-3-4-0
端口是 6319 ,注意!


4【重要+】、系统新增自动化生成数据库,和生成种子数据的功能,
在Blog.Core层中的 appsettings.json 中开启 SeedDBEnabled:true 即可。
具体文章请看:《[支持多种数据库 & 快速数据库生成](https://www.cnblogs.com/laozhang-is-phi/p/10718755.html)》。


5、不支持sql文件了,只支持CodeFirst方式,具体上的Seed Data动图已经说明。


6、想要各个知识点的,可以查看:

 a、直播教学的配套代码:https://github.com/anjoy8/Blog.Live
 b、博客园文章的拆分代码:https://github.com/anjoy8/BlogArti


7、项目后期发布的时候可以有两个办法,一种是dotnet的kestrel部署,另一种是 IIS 发布部署,但是在发布的时候,
因为解耦了,所以会导致无法把 service.dll & repository.dll 拷贝到生成目录下,大家可以采用:
Blog.Core -> 属性 -> Build Events -> Post-build event command ->>>>

Copy "$(ProjectDir)bin\Debug\netcoreapp2.2\" "$(SolutionDir)Blog.Core\bin\Debug\"


修改数据库连接字符串

注意:修改完数据库连接字符串以后,一定要F6重新编译项目或者重启项目。

1、在Blog.Core层 appsettings.json 中,配置自己的字符串,注意优先级是从上往下的,只能设置一个true

    "Sqlite": {
      "Enabled": true,
      "SqliteConnection": "Data Source=WMBlog.db"
    },
    "SqlServer": {
      "Enabled": false,
      "SqlServerConnection": "Server=.;Database=WMBlogDB;User ID=sa;Password=123;",
      "ProviderName": "System.Data.SqlClient"
    },
    "MySql": {
      "Enabled": false,
      "MySqlConnection": "Server=localhost; Port=3306;Stmt=; Database=wmblogdb; Uid=root; Pwd=456;"
    },
    "Oracle": {
      "Enabled": false,
      "OracleConnection": "Provider=OraOLEDB.Oracle; Data Source=WMBlogDB; User Id=sss; Password=789;",
      "OracleConnection_other1": "User ID=sss;Password=789;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.8.65)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME = orcl)))"
    },

2、文章中有2个地方用到了数据库连接字符串

A、Blog.Core 层 appsettings.json 中配置
B、T4 模板 Blog.Core.FrameWork -> DbHelper.ttinclude

3、如果想使用T4模板,在Blog.Core.FrameWork层的DbHelper.ttinclude 中,配置自己的字符串

public static readonly string ConnectionString = File.Exists(@"D:\my-file\dbCountPsw2.txt") ? 
File.ReadAllText(@"D:\my-file\dbCountPsw2.txt").Trim(): "server=.;uid=sa;pwd=sa;database=BlogDB";

三大平台同步直播

简 书:https://www.jianshu.com/notebooks/28621653

博客园:https://www.cnblogs.com/laozhang-is-phi/

CSDN:https://blog.csdn.net/baidu_35726140

码云:https://gitee.com/laozhangIsPhi/Blog.Core

.NetCore与Vue 框架学习目录如下

  • 后端 .net core 概览

    • 框架之二 || 后端项目搭建
    • Swagger的使用 3.1
    • Swagger的使用 3.2
    • Swagger的使用 3.3 JWT权限验证【修改】
    • 36 ║解决JWT权限验证过期问题
    • API项目整体搭建 6.1 仓储模式
    • API项目整体搭建 6.2 轻量级ORM
    • API项目整体搭建 6.3 异步泛型仓储+依赖注入初探
    • 依赖注入IoC学习 + AOP切面编程初探
    • AOP面向切面编程浅解析:简单日志记录 + 服务切面缓存
    • AOP自定义筛选,Redis入门 11.1
    • 三种跨域方式比较,DTOs(数据传输对象)初探
    • DTOs 对象映射使用,项目部署Windows+Linux完整版
    • 三十二║ 四种方法快速实现项目的半自动化搭建
    • 三十三║ ⅖ 种方法实现完美跨域
    • 三十四║ Swagger 处理多版本控制,所带来的思考
    • 三十五║ 完美实现全局异常日志记录
    • 37 ║JWT完美实现权限与接口的动态分配
    • 38 ║自动初始化数据库
    • 39 || 想创建自己的dotnet模板么?看这里
    • 40 || 完美基于AOP的接口性能分析
    • 41 || Nginx+Github+PM2 快速部署项目(一)
    • 42 ║ 完美实现 JWT 滑动授权刷新
    • 43 ║ 支持多种数据库 & 快速数据库生成
    • 43 ║最全的部署方案 & 最丰富的错误分析【再会】
    • 45 ║ 终于解决了事务问题
    • 46 ║ 授权认证:自定义返回格式
  • 前端 Vue 概览

    • 十四 ║ VUE 计划书 & 我的前后端开发简史
    • 十五 ║Vue基础:JS面向对象&字面量& this字
    • 十六 ║Vue基础:ES6初体验 & 模块化编程
    • 十七 ║Vue基础:使用Vue.js 来画博客首页+指令(一)
    • 十八║Vue基础: 指令(下)+计算属性+watch
    • 十九║Vue基础: 样式动态绑定+生命周期
    • 二十║Vue基础终篇:组件详解+项目说明

    • 👆 上边的这些基础,可以不用看,如果你只想快速入门 Vue 的话

    • 二十一║Vue实战:开发环境搭建【详细版】
    • 二十二║Vue实战:个人博客第一版(axios+router)
    • 二十三║Vue实战:Vuex 其实很简单
    • 二十四║ Vuex + JWT 实现授权验证登陆
    • 二十五║初探SSR服务端渲染(个人博客二)
    • 二十六║Client渲染、Server渲染知多少{补充}
    • 二七║ Nuxt 基础:框架初探
    • 二八║ Nuxt 基础:面向源码研究Nuxt.js
    • 二九║ Nuxt实战:异步实现数据双端渲染
    • 三十║ Nuxt实战:动态路由+同构
    • 三十一║ Nuxt终篇:基于Vuex的权限验证探究
**************************************************************

系统环境

windows 10、SQL Server 08+、Visual Studio 2019、Windows Server 2008 R2

后端技术:

  * .Net Core 3.1 API(因为想单纯搭建前后端分离,因此就选用的API,如果想了解.Net Core MVC,也可以交流)
  
  * Swagger 前后端文档说明,基于RESTful风格编写接口

  * Repository + Service 仓储模式编程

  * Async和Await 异步编程

  * Cors 简单的跨域解决方案

  * AOP基于切面编程技术

  * Autofac 轻量级IoC和DI依赖注入

  * Vue 本地代理跨域方案,Nginx跨域代理

  * JWT权限验证



数据库技术

  * SqlSugar 轻量级ORM框架,CodeFirst

  * T4 模板生成

  * AutoMapper 自动对象映射



分布式缓存技术

  * Redis 轻量级分布式缓存



前端技术

  * Vue 2.0 框架全家桶 Vue2 + VueRouter2 + Webpack + Axios + vue-cli + vuex

  * ElementUI 基于Vue 2.0的组件库

  * Nuxt.js服务端渲染SSR

About

ASP.NET Core 2.2/3.1 教程,前后端分离的后端接口,vue教程的姊妹篇

apk.neters.club

Resources

Readme
MIT license
Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.