NetCore 开发配置
框架设计
项目 | 描述 | 说明 |
Micro.Web | 应用层 | Html、WebApi |
Micro.Common/Utilities | 公共层 | 存放常用类库 、加密解密单元等 |
Micro.Models | 实体层 | Entity、Dto、ViewModel |
Micro.Core | 公共集 | 服务端(数据库、缓存相关类) |
Micro.IServices | 接口层 | IServer, 接口服务类 |
Micro.Services | 业务层 | Service , 数据服务类 |
Micro.Extensions | 扩展层 | 外部接口引用集成 |
Micro.Tasks | 定时任务 | 任务调度中心 |
Micro.Tools | 工具 | 代码生成器、工具 |
Microlib | 公共集 | 客户端(HTTP、缓存) |
如何使用配置文件
参考:https://www.cnblogs.com/microsoft-zh/p/17946860
统一返回格式
参考:https://www.cnblogs.com/microsoft-zh/p/17945501
异常统一返回格式
参考:https://www.cnblogs.com/microsoft-zh/p/17947137
数据模型验证,过滤器
参考:https://www.cnblogs.com/microsoft-zh/p/17875409.html
跨域设置
参考:https://www.cnblogs.com/microsoft-zh/p/17947117
获取Token,以及Token信息
参考:https://www.cnblogs.com/microsoft-zh/p/17947148
版本控制
参考:https://www.cnblogs.com/microsoft-zh/p/17953593
配置404页面
//404 app.Use(async (context, next) => { await next.Invoke(); if (context.Response.StatusCode == 404) { //也可以定义为其他地址(沐雪微商城) context.Response.Redirect("/error/404"); } });
允许跨域
builder.Services.AddCors(options => { options.AddPolicy("Cors", builder => builder.AllowAnyOrigin() .WithMethods("GET", "POST", "HEAD", "PUT", "DELETE", "OPTIONS") ); }); app.UseCors("Cors");
依赖注入NetCore
//注册服务 每次调用都创建新的类
services.AddTransient<IUser, User>();
//注册服务 只new一次
//services.AddSingleton<IUser, User>();
//在同一个Scope内只初始化一个实例
services.AddScoped<IUserCommand, UserCommand>();
//服务提供者
var serviceProvider = builder.Services.BuildServiceProvider();
var user = serviceProvider.GetService<IUser>();
//移除依赖
services.RemoveAll<IUser>();
services.RemoveAll(typeof(IUser));
//替换依赖
services.Replace(ServiceDescriptor.Singleton<IUser, User>());
依赖注入Autofac
参考:https://www.cnblogs.com/microsoft-zh/p/17845364.html
对象映射AutoMapper
参考:https://www.cnblogs.com/microsoft-zh/p/17537808.html
数据连接EF First
参考:Code First迁移和DBFirst
https://www.cnblogs.com/netlock/p/13560376.html
https://www.cnblogs.com/WarrenRyan/p/13518772.html
序列化/反序列化System.Text.Json
参考:https://www.cnblogs.com/microsoft-zh/p/17470666.html
网关Ocelot
参考:https://www.cnblogs.com/microsoft-zh/p/17836599.html
服务注册Consul
参考:https://www.cnblogs.com/microsoft-zh/p/17965038
日志记录Serilog
参考:https://www.cnblogs.com/microsoft-zh/p/17955880
本地化多语言(单资源文件)
参考:https://www.cnblogs.com/netlock/p/13408376.html
https://www.cnblogs.com/azrng/p/14757763.html
文件上传下载
参考:https://www.cnblogs.com/sunny3158/p/17033814.html
https://www.cnblogs.com/sunny3158/p/17033819.html
.Net Core以windows服务方式部署
https://www.cnblogs.com/sunny3158/p/17033838.html
插件开发:
参考:
https://www.cnblogs.com/zzfstudy/p/14110361.html
https://www.cnblogs.com/LiveCoding/p/17397550.html
https://www.cnblogs.com/cqpanda/p/16755109.html
SignalR网络通讯
参考:
https://www.cnblogs.com/LiveCoding/p/13304130.html
Razor页面动态编译
参考:https://blog.csdn.net/sD7O95O/article/details/125401059
NetCore项目中常用的类库
https://www.6hu.cc/archives/149303.html
https://baijiahao.baidu.com/s?id=1727470353664875334&wfr=spider&for=pc
中汉字转拼音类库
Install-Package HxfPinYin
或者
Install-Package PinYinConverterCore
RSA 公钥加密 私钥解密
Install-Package BouncyCastle.NetCore
ZipFile
Install-Package System.IO.Compression.ZipFile
JWT
Install-Package Microsoft.AspNetCore.Authentication.JwtBearer
Excel操作
Install-Package EPPlus
后台作业
Hangfire
Http请求
Flurl
ORM框架,仓储模块 Dapper
参考:https://www.cnblogs.com/wl-blog/p/16414637.html
进程内的消息订阅、发布框架
MediatR
二维码
QRCoder
缓存redis
参考:https://www.cnblogs.com/microsoft-zh/p/15423773.html
FluentFTP 文件上传
参考:https://www.cnblogs.com/qpjlove/p/15987088.html
MailKit 发送文件
https://blog.csdn.net/zhaoxi2020/article/details/128909614
https://www.cnblogs.com/liaoshiqi/p/16125311.html
利用RediatR的管理可以实现记录日志,校验参数等功能。
参考:https://www.cnblogs.com/Insist-Y/p/17457285.html
.NetCore 请求WebAPI响应信息记录到数据库
https://www.cnblogs.com/resplendent/p/12677942.html
验证码:https://www.cnblogs.com/meowv/p/13605829.html
技术栈路线图