Я пытаюсь заставить заголовок "if-Modified-Since" работать с моим веб-сервисом WCF.
Когда пользователь отправляет запрос на мой сервис, я добавляю ETag к исходящему ответу, который содержит метку времени запроса следующим образом:
var tag = String.Format("\"{0:o}\"", new DateTimeOffset(DateTime.Now));
В результате получается следующий заголовок ETag:
ETag: "2011-10-27T13:09:39.6242263-04:00"
Затем я беру это значение и возвращаю его в качестве заголовка if-Modified-Since для последующих запросов, таких как:
If-Modified-Since:2011-10-27T13:09:39.6242263-04:00
Когда я проверяю WebOperationContext.Current.Headers.IfModifiedSince, я никогда не получаю предоставленное значение. Значение установлено на «31.12.1969 19:00:00».
Что я делаю не так?
UPDATE
Я должен добавить, что с помощью Fiddler я могу установить любое значение для заголовка If-Modified-Since и все равно получить то же значение 1969 в коде.