2012-04-17 2 views
0

Я работаю над небольшим приложением SilverLight, которое использует WebClient для запроса службы REST. В соответствии с этим:Клиент HTTP-обработка и ETag

http://msdn.microsoft.com/en-us/library/dd920295(v=vs.95).aspx

не кэширование не должно быть на месте при использовании «клиента HTTP» обработки ....

The Rest службы я звоню использование ETag, так и с не Кэширование в Я бы не ожидал, что второй вызов моей службы будет содержать заголовок If-None-Match?

Также при возврате REST службы «304» (NotModified) Я до сих пор получить некоторые данные, указав, что данные возвращаются из кэша ....

Служба REST также устанавливает «Вари» заголовок «Принять» (чтобы заголовок Accept принимался во внимание при создании ключа Cache), но похоже, что это не работает.

Итак, я немного уверен, кеширование есть или нет .... похоже, что это на полпути ...

Может кто-нибудь очистить ??

ТИА

Сорен

+0

Это действительно не похоже на то, что вы на самом деле используете ClientHTTP, возможно, какой-то код поможет, особенно в области, где вы создаете WebRequest. – AnthonyWJones

ответ

0

Я бы предложил не использовать ETags на службу WCF. В IIS службе или каталогу, содержащему службу, необходимо включить заголовок HTTP-ответа, который устанавливает, что контент истекает немедленно, так что нет возможности кэширования на клиенте. Таким образом, вызов службы не приведет к ответу HTTP 304 с сервера.

Смежные вопросы