Я видел ветку Как проверить FTP-соединение? и попробовал некоторые из предложений. Вот что у меня есть на данный момент:
private void IsFtpLoginSuccessful(FtpClient ftpClient, string ftpFolder, string ftpUsername, string ftpPassword)
{
FtpWebRequest requestDir = (FtpWebRequest)FtpWebRequest.Create(ftpFolder);
requestDir.Credentials = new NetworkCredential(ftpUsername, ftpPassword);
try
{
Log(LogLevel.Debug, "Just entered TRY block");
requestDir.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
WebResponse response = requestDir.GetResponse();
Log(LogLevel.Debug, "GOOD");
}
catch (Exception ex)
{
Log(LogLevel.Debug, "BAD");
}
}
Если имя пользователя/пароль недействительны, последнее, что регистрируется, это «Только что вошел блок TRY». Код каким-то образом молча выдает ошибки и никогда не регистрирует «ПЛОХО». Если учетные данные действительны, он продолжает выполнение и регистрирует «GOOD».
Я полагаю, это дает мне логическое значение относительно того, был ли вход в систему полностью успешным. Но есть ли способ определить, являются ли учетные данные неправильными или это FTP-сервер, который просто не отвечает?
Благодарю вас!