Redis ConnectionMultiplexer在dispose后触发多个连接失败
我们使用StackExchange.Redis ConnectionMultiplexer类,如下所示:Redis ConnectionMultiplexer在dispose后触发多个连接失败,redis,stackexchange.redis,Redis,Stackexchange.redis,我们使用StackExchange.Redis ConnectionMultiplexer类,如下所示: private void InitializeConnection() { _logger.Info("Initializing a connection to the Redis cluster. "); bool isReconnectionAttempt = false; if (_connectionMultiplexer
private void InitializeConnection()
{
_logger.Info("Initializing a connection to the Redis cluster. ");
bool isReconnectionAttempt = false;
if (_connectionMultiplexer != null)
{
Debug.WriteLine("disposing " + _connectionMultiplexer.GetHashCode());
_connectionMultiplexer.ConnectionFailed -= HandleConnectionFailedEvent;
// test this change.....
_connectionMultiplexer.Close();
isReconnectionAttempt = true;
_logger.Info("This is reconnection attempt to the Redis cluster.");
}
_connectionMultiplexer = ConnectionMultiplexer.Connect(_connectionString);
_needConnect = !_connectionMultiplexer.IsConnected;
_connectionMultiplexer.ConnectionFailed += HandleConnectionFailedEvent;
当我模拟网络问题时,ConnectionFailed事件会按预期触发。发生这种情况时,我们会尝试处理对象并创建一个新对象。但是,即使在关闭/释放前一个_connectionMultiplexer实例之后,我们仍然会收到前一个实例触发的几个ConnectionFailed事件
然而,该文档指出,当网络宕机时,我们只会收到一个ConnectionFailed事件。下一次我们遇到这样的事件是网络再次瘫痪。但这不是我所经历的。想法