/// <summary> /// Polly封装 liyouming /// </summary> public class PollyServicesFactory { private IELLog eLLog; public PollyServicesFactory(IELLog ellog) { eLLog = ellog; } #region 重试 /// <summary> /// 组合使用Warp /// </summary> /// <…
结合上一篇文章我写了一个demo测试下 重试2次 _polly.PollyRetry<Exception>(()=>_demoQuery.GetTestAOPAsync(), ); 结果: 按需重试 _polly.PollyWaitAndRetry<Exception>(() => _demoQuery.GetTestAOPAsync(), new TimeSpan[]{ TimeSpan.FromSeconds(), TimeSpan.FromSeconds(), T…
上一篇文章已经扩展了日志,下面我们在结合下处理操作日志 通常我们想到操作日志 可能想到的参数可能有 模块 方法 参数内容 操作人 操作时间 操作 Ip 下面我们就来结合这些信息添加操作日志 如果要在代码中每个操作中添加 是非常繁琐的 代码很大部分重复,有AOP思想的应该都知道面向切面的方式处理日志,日志贯穿整个系统 所以我们会想到过滤器,在之前的文章中我用到了拦截器处理,这里我们使用 Filter 过滤器 结合Attribute属性来处理,这里我们主要依靠 IAsyncActionFilter…
在使用ExceptionLess添加日志的时候,发现还是有一些写法上的个人觉得不爽的地方,比如添加Info日志 ExceptionlessClient.Default.CreateLog(source, message, LogLevel.Info).AddTags(tags.ToArray()).Submit(); 如果使用自己的添加方法可能是下面这样的 public void Info(string source, string message, params string[] tags)…
相关文章 Consul+Ocelot+Polly在.NetCore中使用(.NET5)-Consul服务注册,服务发现 Consul+Ocelot+Polly在.NetCore中使用(.NET5)-网关Ocelot+Consul 一.简介 前一篇Consul中有个问题是,所有客户端都要和Consul进行连接,且直接拿到了所有的服务实例,这就直接把全部的服务实例暴露出来了,所以需要用网关来隔离客户端和服务实例, 所有api请求都从网关进入. Ocelot作为一个网关应用,主要的功能有路由.请求聚合…
相关文章 Consul+Ocelot+Polly在.NetCore中使用(.NET5)-Consul服务注册,服务发现 Consul+Ocelot+Polly在.NetCore中使用(.NET5)-网关Ocelot+Consul Consul+Ocelot+Polly在.NetCore中使用(.NET5)-Ocelot+Polly缓存.限流.熔断.降级 环境Ocelot包版本17.0.0 一.简介 Polly 是一个 .NET 弹性和瞬态故障处理库,允许开发人员以线程安全的方式来实现重试.断路.…
.NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logging组件中第三方日志工具的集成.只要按照Logging组件中相关接口的要求提供相应的实现(ILogger.ILoggerProvider),然后把实现的ILoggerProvider加入到LoggerFactory就可以使用了,非常方便.这里以NLog为例进行实践.关于NLog的详细教程可以参考h…
.NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包含控制台.文本文件.数据库,一般都是创建全局的Logger,在需要记录日志的地方调用相应的Logger输出至相应目标.遇到输出目标多了有时候也感觉挺麻烦的,不过也还能接受.开始学习.NetCore后接触到了日志记录框架(Logging组件),虽然完全可以用之前的方式记录日志,不过应该使用更通用的方式…
# AutoMapper在asp.netcore中的使用  automapper 是.net 项目中针对模型之间转换映射的一个很好用的工具,不仅提高了开发的效率还使代码更加简洁,当然也是开源的,https://github.com/AutoMapper,这不多做介绍,详细看,官网下面是介绍它在 .net core 项目中的使用 1. 首先当然先引用 AutoMapper - 你可以在NuGet中直接输入AutoMapper直接引用,也可以在控制台输入 Install-Package AutoMa…
Cache(缓存)是优化web应用的常用方法,缓存存放在服务端的内存中,被所有用户共享.由于Cache存放在服务器的内存中,所以用户获取缓存资源的速度远比从服务器硬盘中获取快,但是从资源占有的角度考虑缓存也不是越多越好.经常要用到且不会频繁改变且被用户共享的数据很适合放在缓存中.在介绍netcore的缓存前我们先回顾下net framework中的缓存技术. net framework中常用的缓存有两种: System.Runtime.Caching 和 System.Web.Caching 1…