亲爱的.Neter们,在我们日复一日的编码进程中是不是会碰着一些让人烦恼的工作:
日志设置过分巨大,各类模板、参数也搞不清楚,每次都要去查察日志库的文档,还需要复制粘贴一些反复代码,好恶棍
当需要范例转换时,利用AutoMapper时感受设置又巨大,本身写人肉转换代码又冗长,又枯燥,好无聊
当挪用其他处事时,老是不安心,于是在挪用前、挪用后老是不绝反复地记录请求和应答日志?
当其他处事需要令牌时,我们不得不打点令牌的生命周期,并且差异第三方处事令牌的认证、维护进程还纷歧样,有时挪用每一个接口时都要手动传入token,好贫苦
作为应用开拓的你,你编写的处事和许多其他处事交互,常常因为其他处事的问题影响你的开拓进度,同时你的处事由于依赖于其他处事,导致调试测试坚苦
在微处事模式下,需要请求链路跟踪,于是,你又在挪用其他处事时,不绝第反复通报链路跟踪的请求头
作为APIer的你,为了快速查找问题,不得不记录每一个接口的请求和应答内容,于是,你就在节制器内里增加了一堆的日志,你知道这不科学,但时间紧,任务重,就先这样吧
......
也许,以上这些问题,都有相应的库可能示例代码来办理,但这实在是太零星了,我们没有精神或不想去做这些,所以功效是经常我们回收了最“笨”的步伐。
此刻,办理这些问题的综合库来了,它就是Xfrogcn.AspNetCore.Extensions扩展库,它深度融合ASP.NET Core的设计模式,利用方法与ASP.NET Core完全一致。
简介ASP.NET Core扩展库是针对.NET Core常用成果的扩展,包括日志、Token提供器、并行行列处理惩罚、HttpClient扩展、轻量级的DTO范例映射等成果。
源码地点:[GitHub] [Gitee]
包地点:[NuGet]
扩展库中,我们对Serilog日志库举办了简朴的封装使其越发容易设置,同时也加强了当地文件日志Sink,使其支持更巨大的日志目次布局。别的,按时日志清理成果可让你无需体贴当地日志打点问题。
轻量级实体映射在分层设计模式中,各层之间的数据凡是通过数据传输工具(DTO)来举办数据的通报,而大大都环境下,各层数据的界说布局大同小异,如安在这些界说布局中彼此转换,之前我们通过利用AutoMapper库,但AutoMapper成果复杂,在许多场景下,大概我们只需要一些基本成果,那么此时你可以选择扩展库中的轻量级AutoMapper实现。
AspNetCore Http处事端的扩展针对AspNetCore Http处事端,扩展库提供了以下成果:
请求与应答具体日志记录
EnableBufferingAttribute特性,开启请求的Buffer(可反复读取)
.NET Core扩展库中通过HttpFactory及HttpClient来执行HTTP请求挪用,HttpClient扩展在此基本长举办了更多成果的扩展,增加易用性、可测试性。
HttpClient包括以下成果:
针对HttpClient的相关扩展要领
针对HttpRequestMessage及HttpResponseMessage的扩展要领
请求日志记录
请求头的自动通报(请求链路跟踪)
Http请求模仿(用于测试或模仿第三方处事)
Http受限请求中,可自动获取及打点会见令牌
令牌提供器用于应用的相关会见令牌的生命周期打点,包括令牌的自动获取、缓存、失效判定、自动重试等,主要由HttpClient扩展利用。虽然你也可以单独利用。
并行行列处理惩罚并行行列处理惩罚可以将一个大的行列,拆分到多个子行罗列办并行处理惩罚,以提高处理惩罚效率。同时,在每个子行列处理惩罚中实现了处理惩罚管道,可机动扩展。