MDTM
Метод использует FTP - MDTM
команду внизу.
Многие FTP-серверы, включая IIS или DriveHQ, не поддерживают MLST
команду для папок.
Другой способ получить время модификации - это FtpWebRequest
команда. Но это не поддерживается Session.GetFileInfo
. Вам нужно будет использовать другую клиентскую библиотеку FTP (например, мою сборку WinSCP .NET и ее MLST
метод ).
Но это тоже не поможет. Многие серверы вообще не поддерживают эту MLST
команду (например, IIS). И DriveHQ возвращает неверный ответ (imho) на FtpWebRequest
команду. Хотя он содержит время модификации, он не содержит имени файла, а WinSCP не выполняет синтаксический анализ ответа. Вам нужно будет сделать грубый взлом, например, разбить файл журнала сеансов WinSCP, чтобы получить из него временную метку изменения. Или, возможно, другая сторонняя библиотека сможет справиться с ответом DriveHQ.
Последний вариант - сделать полный список родительского каталога, извлекая временную метку подкаталога из списка.
Хотя это нехорошее решение является общим, так как LIST
поддерживается только LIST
команда, что не имеет стандартного формата, DriveHQ использует относительно стандартный формат * nix, поэтому вы можете, например, использовать мой ответ для строки Parsing GetDateTimestamp ListDirectoryDetails .
Хотя, поскольку вы на самом деле используете GetDateTimestamp
только проверку на существование папки, вы можете просто использовать этот ListDirectory
метод вместо FtpWebRequest
. Очевидно, это перебор, но это самое простое решение с комбинированными ограничениями FtpWebRequest
и DriveHQ.
См. Как проверить, существует ли FTP-каталог .