一个开源的.NET6框架
Go to file
anjoy 4688044b2d Update the project template to 1.1.4
更新项目模板到 1.1.4
2019-11-07 16:12:47 +08:00
.template.config Update the project template to 1.1.4 2019-11-07 16:12:47 +08:00
Blog.Core Rename the blogcore data folder 2019-11-07 15:49:57 +08:00
Blog.Core.Common Update LogLock.cs 2019-11-05 00:15:37 +08:00
Blog.Core.FrameWork Merge branch 'netcore3.0' 2019-10-21 12:02:14 +08:00
Blog.Core.IRepository Merge branch 'netcore3.0' 2019-10-21 12:02:14 +08:00
Blog.Core.IServices Merge branch 'netcore3.0' 2019-10-21 12:02:14 +08:00
Blog.Core.Model Rename the blogcore data folder 2019-11-07 15:49:57 +08:00
Blog.Core.Repository fix transactions do not work in MSSQL 2019-10-23 14:09:06 +08:00
Blog.Core.Services Merge branch 'netcore3.0' 2019-10-21 12:02:14 +08:00
Blog.Core.Tasks Merge branch 'netcore3.0' 2019-10-21 12:02:14 +08:00
Blog.Core.Tests fix transactions do not work in MSSQL 2019-10-23 14:09:06 +08:00
.gitignore Merge branch 'netcore3.0' 2019-10-21 12:02:14 +08:00
appveyor.yml Update and rename codecov.yml to appveyor.yml 2019-10-02 23:54:56 +08:00
Blog.Core.Build.bat remove warming && update build.bat 2019-05-15 16:16:45 +08:00
Blog.Core.Publish.bat Update Blog.Core.Publish.bat 2019-10-31 14:44:42 +08:00
Blog.Core.sln add func -> Task Service 🎨 2019-06-19 18:56:16 +08:00
Blog.Core.System.Architecture.png Create Blog.Core.System.Architecture.png 2019-09-03 18:52:12 +08:00
codecov.yml Update codecov.yml 2019-10-02 23:44:36 +08:00
CreateYourProject.bat Update the project template to 1.1.4 2019-11-07 16:12:47 +08:00
KillPort.bat remove warming && update build.bat 2019-05-15 16:16:45 +08:00
LICENSE Create LICENSE 2019-03-03 11:51:33 +08:00
README-en.md Update README-en.md 2019-01-03 19:15:17 +08:00
README.md Update README.md 2019-10-21 12:05:33 +08:00

Dev Build::

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

   

ENGLISH | 中文版

Logo

从零开始搭建自己的前后端分离【 .NET Core3.0 Api + Vue 2.x 】框架。(🔒目前是3.0 版本,因作者开源的项目较多,维护成本过高,所以本项目其他分支会缓慢不定时更新🔒

 

系统架构图

系统架构图

 

 

系统压测结果报告

  其他接口压测内存占用在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://vueblog.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日志切面
你可以在自定义开关,对其进行是否启用,在 appsettings.json 中的:

    "RedisCaching": {
      "Enabled": false,
      "ConnectionString": "127.0.0.1:6319"
    },
    "MemoryCachingAOP": {
      "Enabled": true
    },
    "LogoAOP": {
      "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 中开启 SeedDBEnabledtrue 即可。
具体文章请看:《[支持多种数据库 & 快速数据库生成](https://www.cnblogs.com/laozhang-is-phi/p/10718755.html)》。


5、如果你不想用CodeFirst 和种子数据可以用数据库表结构Sql文件在数据库里执行
在Blog.Core 项目下的 wwwroot 文件夹中Blog.Core.Table.sql表结构、Blog.Core.Table&Data.sql结构和数据。
或者来群里,群文件的是最新的。


6、如果想单独查看关于【JWT授权】的相关内容可以访问 https://github.com/anjoy8/BlogArti/tree/master/Blog.Core_JWT
   我单拎出来的一个demo。


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 中,配置自己的字符串

    "SqlServer": {
      "SqlServerConnection": "Server=.;Database=WMBlogDB;User ID=sa;Password=123;",
      "ProviderName": "System.Data.SqlClient"
    },

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

A、系统中使用 Blog.Core.Repository -> BaseDBConfig.cs
B、Seed数据库 Blog.Core.Model -> MyContext.cs
C、T4 模板 Blog.Core.FrameWork -> DbHelper.ttinclude

其实针对AB两个情况只需要配置 appsettings.json 即可

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/

CSDNhttps://blog.csdn.net/baidu_35726140

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

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

**************************************************************

系统环境

windows 10、SQL server 2012、Visual Studio 2017、Windows Server 2008 R2

后端技术:

  * .Net Core 2.0 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