public void Add(ConnectionSettingModel model) { lock (_key) { _cache.Add(model); Save(); } }
public async Task <bool> TryConnectAsync(ConnectionSettingModel settings, bool save = true) { var options = new ConfigurationOptions() { Password = settings.Password, ConnectTimeout = settings.Timeout * 1000, // ms AsyncTimeout = settings.Timeout * 1000, // ms AllowAdmin = settings.AllowAdmin, ClientName = "MYRDM", AbortOnConnectFail = false, ConnectRetry = 10, }; options.EndPoints.Add(settings.Host, settings.Port); ConnectionMultiplexer connection = await ConnectionMultiplexer.ConnectAsync(options); connection.ConnectionFailed += (sender, e) => { Debug.WriteLine(e.Exception.ToString()); }; var isConnected = connection.IsConnected; if (!isConnected) { await Task.Delay(TimeSpan.FromSeconds(1.5)); var server = connection.GetServer(connection.GetEndPoints().First()); var ping = await server.PingAsync(); isConnected = connection.IsConnected; } if (save) { _connections[settings.Guid] = connection; } else { //await connection.CloseAsync(); } return(isConnected); }
public void Update(ConnectionSettingModel model) { lock (_key) { var temp = _cache.FirstOrDefault(t => t.Guid == model.Guid); temp.Name = model.Name; temp.Host = model.Host; temp.Password = model.Password; temp.Port = model.Port; temp.Timeout = model.Timeout; temp.AllowAdmin = model.AllowAdmin; Save(); } }
public bool TestConnection(ConnectionSettingModel connection) { throw new NotImplementedException(); }
public async Task <bool> TestConnectionAsync(ConnectionSettingModel connection) { var result = await _redisClientService.TryConnectAsync(connection, false); return(result); }