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

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

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

Есть идеи, в чем проблема и что исправить?

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

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


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

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


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


person Matt    schedule 25.08.2010    source источник
comment
В. Под вашим контролем находится сервер IIS? то есть сможете ли вы исследовать возможные причины, если они связаны с сервером?   -  person Gone Coding    schedule 25.08.2010
comment
В. Второй вопрос ... происходит ли это примерно после полуночи и после 12 часов обеденного перерыва или сразу после интервала примерно в 12 часов? Вы можете проверить это, сделав изменение сервера в 9-10 вечера, и посмотреть, когда XAP загрузится снова.   -  person Gone Coding    schedule 25.08.2010


Ответы (3)


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

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

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

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

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

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

person AnthonyWJones    schedule 25.08.2010

Я думаю, что HiTech Magic намекала, что вам необходимо настроить этот параметр в IIS. Из того, что сказал Fiddler, похоже, что ваш 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

person Alex Lo    schedule 16.09.2010

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

person cofiem    schedule 16.09.2010