XAP истекает через полдня? - PullRequest
       2

XAP истекает через полдня?

6 голосов
/ 25 августа 2010

Мне просто интересно, что заставило бы мой xap истекать каждые полдня (приблизительно). Я имею в виду, что утром пользователь заходит на веб-сайт и загружает копию xap, днем, если этот пользователь возвращается на веб-сайт, а веб-сайт загружает для него еще одну копию xap.

Я надеюсь, что единственная причина, по которой пользователю необходимо загрузить новую копию xap, заключается в том, что он очистил кеш браузера или поставил новую копию на сервер.

Любые идеи о том, что будет проблема и исправить?

Я запустил fiddler для загрузки XAP и получил следующие строки на вкладке кэша записи загрузки xap в fiddler.

Ответы HTTP / 200 кэшируются по умолчанию, если только заголовки Expires, Pragma или Cache-Control отсутствуют и не запрещают кэширование.


Заголовок HTTP / 1.1 ETAG присутствует: "2ad1d6bfdd43cb1: 0" Заголовок HTTP Last-Modified присутствует: вт, 24 авг. 2010 22:43:19 GMT

Не предоставлена ​​явная информация об истечении срока действия HTTP. Большинство браузеров используют эвристические политики истечения срока действия: 10% разницы между Last-Modified и Date составляет '02: 53: 34', поэтому срок действия этого ответа истекает 26.08.2010 16:39:26.


В этом ли проблема? Где я могу установить явный срок действия HTTP?

Ответы [ 3 ]

2 голосов
/ 25 августа 2010

Первое, что нужно сделать, это: -

  • установить копию Fiddler .
  • Удалить временные файлы Интернета.
  • ЗапуститьСкрипач.
  • Посетите веб-страницу своего хоста.
  • Найдите сеанс HTTP в fiddler, представляющий загрузку Xap
  • Добавьте необработанные заголовки ответа на ваш вопрос выше.

Это обеспечит очень важный наборключ к пониманию реальной проблемы.

Что происходит, когда вы обновляетесь?Вы видите, что второй сеанс HTTP XAP возвращает ответ в статусе 304?Если вы получите 200, добавьте необработанные Request заголовки для второй попытки и его необработанные заголовки ответа на ваш вопрос.

Если вы получите 304, оставьте егов течение соответствующего промежутка времени, затем попробуйте еще раз, он все еще дает статус 304?Если это не так, как описано выше.

Эти данные предоставят нам много информации для постановки диагноза.

0 голосов
/ 17 сентября 2010

Если вы используете ASP.Net (можете ли вы отредактировать свой пост, чтобы сообщить нам, какой у вас бэкэнд?), Попробуйте использовать Response.Cache.SetCacheability .Есть некоторые ошибки , tho.

0 голосов
/ 17 сентября 2010

Я думаю, что HiTech Magic намекал на то, что вам нужно настроить этот параметр в IIS.Из того, что сказал Фиддлер, похоже, что в вашем IIS нет установленного срока действия контента, который, я думаю, используется по умолчанию.

вот как это сделать в IIS 6: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/0fc16fe7-be45-4033-a5aa-d7fda3c993ff.mspx?mfr=true вот как это сделатьэто в IIS 7: h'ttp: //technet.microsoft.com/en-us/library/cc770661 (WS.10) .aspx

...