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

 

技术栈路线图

 

posted @ 2024-01-04 09:42  microsoft-zhcn  阅读(27)  评论(1编辑  收藏  举报