我正在将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);
重试适用于初始请求。但是,如果它是第二个或第三个请求,则该请求不会通过启动。因为它是一个单例对象。
在这种情况下,我们如何进行重试连接?