c# - 有没有办法在 .NET Core ServiceBus 客户端中为 RetryExponential 策略设置 DeltaBackoff?
问题描述
.NET Standard Azure ServiceBus 客户端库似乎没有设置DeltaBackoff
参数的可能性。以前是可能的,根据文档,它应该仍然是可能的。我看到有一个内部构造函数链接到公共构造函数,并且从(3 秒)DeltaBackoff
传递值。Constants.DefaultRetryDeltaBackoff
有正当理由不再公开吗?另外,有没有办法在SubscriptionClient
不设置的情况下使用 2/4/8 分钟延迟实现指数重试DeltaBackoff
?
解决方案
RetryExponential
除了使用反射通过其内部构造函数进行实例化之外,找不到其他方法:
var internalCtor = typeof(RetryExponential)
.GetConstructors(BindingFlags.NonPublic | BindingFlags.Instance)
.Single();
var instance = (RetryExponential)internalCtor.Invoke(
new object[] { TimeSpan.FromMinutes(2), TimeSpan.FromMinutes(8), TimeSpan.FromMinutes(2), 3 }
);
Console.WriteLine(instance.DeltaBackoff); // 00:02:00
这是存储库上的问题,如果有人想跟踪它。
推荐阅读
- laravel - 运行 laravel 队列时,SupervisorD 生成过程不断
- c++ - CMake + GoogleTest 在小型库的集合中给出了重新定义错误
- jquery - jQuery add :checked 到一个类
- c++ - 如何在 QTextEdit 中禁用光标?
- typescript - 为什么 audio.pause() 不能使用 TypeScript,但是 audio.play(); 效果很好?
- reactjs - 从生成器函数内部调用函数
- sql-server - 如何在 centos7 主机上使用 docker-compose .yml 将 JBoss 服务器容器与 SQL 服务器一链接?
- java - Set 引用变量中的 TreeSet 实例
- android - 如何在android studio中添加轮廓材质图标?
- sql-server - 多部分标识符无法绑定 WITH 子句