Основные требования
У меня есть приложение SL, которое можно запустить в браузере или вне браузера. Я хочу, чтобы браузер:
- Кэшировать файл xap
- Загрузите xap из кеша, если он не изменился, или повторно загрузите его, если он изменился.
Подробнее
Установка будущего заголовка expires
, очевидно, решает проблему кэширования, но тогда я не могу заставить пользователя загрузить последнюю версию. Обычно я просто добавляю строку запроса к URL-адресу (например, url?v=1
), но я не могу этого сделать, поскольку это нарушает функциональность вне браузера. например, приложение считает, что оно не установлено, хотя на самом деле оно установлено.
без кеша
Если я установлю Cache-Control
на no-cache
, Chrome и Firefox правильно отправят запрос на сервер для xap, но используют кеш, если возвращается 304. IE8 просто загружает файл снова, как и Safari.
должн REVALIDATE
Установка Cache-Control
на must-revalidate
снова работает правильно в Chrome и Firefox, но Safari всегда загружает xap снова, в то время как IE8 всегда использует кеш.
Как мне настроить это на работу, как описано в начале этого вопроса?