private async Task _EnsureConnection() { if (_ftpClient.IsConnected) { return; } if (_options.AutoConnect) { await _ftpClient.AutoConnectAsync(); return; } _ftpClient.DataConnectionType = _options.DataConnectionType; _ftpClient.EncryptionMode = _options.EncryptionMode; _ftpClient.SslProtocols = _options.SslProtocol; _ftpClient.RetryAttempts = _options.RetryAttempts; _ftpClient.SocketPollInterval = _options.SocketPollInterval; _ftpClient.ConnectTimeout = _options.Timeout; _ftpClient.DataConnectionConnectTimeout = _options.Timeout; _ftpClient.DataConnectionReadTimeout = _options.Timeout; _ftpClient.ReadTimeout = _options.Timeout; _ftpClient.ValidateAnyCertificate = true; await _ftpClient.ConnectAsync(); }