HTML5 AppCache: кеш приложения работал на сервере разработки, но не на IIS 7.5

Я работаю над автономным приложением HTML 5. Когда я запускаю это приложение в Visual Studio, оно работает нормально, но когда я останавливаю свое приложение, а затем обновляю свою страницу, оно запускает событие ошибки манифеста, но мое приложение отлично работает из локального кеша. но когда то же самое приложение, которое я разместил на IIS 7.5, работает нормально, пока я не остановлю сервер. Когда я останавливаю сервер, чем обновляю свою страницу, он генерирует устаревшее событие, и кеш удаляется. Теперь я застрял, что делать. Я также добавил тип MIME .appcache и тип text/cache-manifest.


person Zeeshan Saleem    schedule 07.10.2013    source источник


Ответы (1)


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

Таким образом, он вызывает событие obsolete и удаляет текущий кеш приложения в соответствии с спецификация (посмотрите на устаревшее событие в столбце "Отправлено, когда...")

Таким образом, appcache, вероятно, работает, а если нет, то причина не в этом — это признак того, что ваше тестирование ошибочно.

Кстати, я сделал то же самое - раздражает невозможность проверить, как ваше приложение будет работать, пока оно не будет работать в производственной/внешней среде. Так что будьте готовы подтолкнуть свое приложение и понять, что вы пропустили ресурс из манифеста! :)

person Sethi    schedule 07.10.2013
comment
есть ли способ решить это? если сервер не работает, кеш приложений удаляется, теперь автономная работа больше не работает, чем что мне делать? - person Zeeshan Saleem; 09.10.2013
comment
это не самое удобное решение, но вы можете (1) настроить виртуальную машину, затем (2) перейти в свое приложение, затем (3) отключить интернет, подключиться к виртуальной машине, затем (4) снова перейти к своему приложению , на этот раз вы не в сети. - person Sethi; 09.10.2013
comment
Или просто разверните его в тестовой среде (например, в поддомене вашей производственной среды). Я бы посоветовал завершить ваше приложение, прежде чем возиться с манифестом кеша. Это вызывает много проблем во время разработки, например заставляет вас думать, что ваш код не работает, а не используется старая версия из кеша - person Sethi; 09.10.2013
comment
Хорошо, спасибо, я думал о реальном решении для этого, большое спасибо за то, что предложил мне это. - person Zeeshan Saleem; 09.10.2013