重试对单例对象使用polly

时间:2018-10-16 09:58:03

标签: asp.net-core redis polly

我正在将polly用于单例对象以进行Redis连接

services.AddSingleton<ConnectionMultiplexer>(sp =>
        {
            var settings = sp.GetRequiredService<IOptions<APISettings>>().Value;
            var serilog = sp.GetRequiredService<Serilog.ILogger>();
            var configuration = ConfigurationOptions.Parse(settings.CacheConnectionString, true);
            configuration.ResolveDns = true;
            return StartupExtensions.CheckRedisConnection(configuration, serilog);
        });

我有一个扩展方法,可以为上述代码创建redis连接,并以同一方法实现重试逻辑。 StartupExtensions.CheckRedisConnection(configuration,serilog);

重试适用于初始请求。但是,如果它是第二个或第三个请求,则该请求不会通过启动。因为它是一个单例对象。

在这种情况下,我们如何进行重试连接?

0 个答案:

没有答案