ASP.NET Core 2.2 教程,前后端分离的后端接口,vue教程的姊妹篇
ASP.NET Core 2.2 教程,前后端分离的后端接口,vue教程的姊妹篇 http://123.206.33.109:8081 vue netcore automapper repository t4 netcore-webapi sqlsugarcore dto redis dotnet dotnet-core2 aop ioc swagger cors jwt autofac dependency-injection
Type | Name | Latest commit message | Commit time |
---|---|---|---|
|
|
Blog.Core.Common | 6 days ago |
|
|
Blog.Core.FrameWork | a month ago |
|
|
Blog.Core.IRepository | 22 days ago |
|
|
Blog.Core.IServices | 22 days ago |
|
|
Blog.Core.Model | 8 days ago |
|
|
Blog.Core.Repository | 15 days ago |
|
|
Blog.Core.Services | 22 days ago |
|
|
Blog.Core.Tests | 6 days ago |
|
|
Blog.Core | 6 days ago |
|
|
.gitignore | 4 days ago |
|
|
Blog.Core.sln | 18 days ago |
|
|
LICENSE | a month ago |
|
|
README-en.md | 3 months ago |
|
|
README.md | 5 days ago |
ENGLISH | 中文版
从零开始搭建自己的前后端分离【 .NET Core2.1 Api + Vue 2.0 】框架,目前是2.2版本,各个版本见分支(注意其他分支不全,请使用主分支)。
如果你感觉看着这整个项目比较费劲,我单抽出来了几个子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://123.206.33.109:8077 | http://123.206.33.109:7090 | http://123.206.33.109:2364 |
Package | NuGet Stable | Downloads |
---|---|---|
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 |
如果你喜欢这个项目或者它帮助你, 请给 Star~(辛苦星咯)
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层中的 Progrm.cs 中,取消对 DBSeed.SeedAsync(myContext).Wait(); 的注释即可。
注意不要注释Blog.Core.Model层DBSeed -> SeedAsync -》 myContext.CreateTableByEntity(false, typ)。
5、如果你不想用CodeFirst 和种子数据,可以用数据库表结构Sql文件在数据库里执行,
在Blog.Core 项目下的 wwwroot 文件夹中Blog.Core.Table.sql(表结构)、Blog.Core.Table&Data.sql(结构和数据)。
或者来群里,群文件的是最新的。
6、如果想单独查看关于【JWT授权】的相关内容,可以在wwwroot 文件夹中找到【Autho.jwt.rar】,我单拎出来的一个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/
CSDN:https://blog.csdn.net/baidu_35726140
码云:https://gitee.com/laozhangIsPhi/Blog.Core
系统环境
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
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有