C # - загрузка файлов - скачивать файлы, только если локальная метка файла старше, чем на сервере - PullRequest
0 голосов
/ 23 июня 2011

Как можно загрузить файлы с сервера, и C # может загружать файл только в том случае, если временная метка в локальном файле старше, чем временная метка файла на сервере?В этом случае оба файла имеют одинаковое имя, расширение и т. Д. *

Например, файл на веб-сервере:

http://www.test.com/test.txt

Файл на локальном компьютере:

C:\test.txt

Ответы [ 2 ]

4 голосов
/ 23 июня 2011

Вы можете использовать поле заголовка HTTP If-Modified-Since , чтобы загрузить файл, только если он новее, чем заданная отметка времени:

  1. Определить LastWriteTime локальный файл.
  2. Отправьте HttpWebRequest со свойством IfModifiedSince , установленным в LastWriteTime.
  3. Если удаленный файл был изменен сзначение заголовка, ответ 200 OK возвращается как обычно.В противном случае возвращается ответ 304 NotModified , указывающий, что удаленный файл не был изменен с момента значения заголовка.

Обратите внимание, что ответ 304 NotModified вызывает WebException быть брошенным.См .: Использование If-Modified-Since в HTTP-запросах .

1 голос
/ 23 июня 2011

Смотрите эту ссылку: http://www.codeguru.com/csharp/.net/net_general/internet/print.php/c16073

По сути, вы ищете "условное получение". По ссылке выше вы должны начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...