C# Web.Optimization Bundles и кэш HTML5 Манифест
Я использую пакет оптимизации ASP.NET для минимизации и связывания скриптов и файлов CSS. Я также разрабатываю мобильный пользовательский интерфейс для своего приложения ASP.NET, которое использует манифест кэша HTML5.
Пакет оптимизации обновляет версию URL-адреса динамического пакета, когда файлы изменяются и кэш приложения перезагружается.
Я хотел бы иметь возможность обновлять свою версию манифеста всякий раз, когда это происходит, и включать динамические URL-адреса, которые пакет оптимизации предоставляет в манифест.
Как я могу прочитать текущую версию (параметр "v") или что-нибудь еще, чтобы вызвать обновление манифеста?
/_assets/bundles/global?v=fmbQlO0mGjXyliVEBImQIr5yoMX0Tw0tlMK45jlwHZ81
Пример кода:
string version= "2.6";
StringBuilder output = new StringBuilder();
output.AppendLine("CACHE MANIFEST");
output.AppendLine(string.Format("# v{0}", ??????));
output.AppendLine("CACHE:");
output.AppendLine(Scripts.Url("~/bundles/global").ToString());
...
1 ответ
Манифест приложения автоматически запустит обновление, если оно будет изменено.
При использовании статических ресурсов люди обычно изменяли номер версии в комментарии, чтобы файл был изменен и вызывал обновление, даже если содержимое разделов CACHE, NETWORK и FALLBACK не изменилось.
При использовании URL-адресов, созданных System.Web.Optimization, URL-адрес изменится, когда изменится содержимое любого из файлов CSS или JavaScript в пакетах. Это означает, что файл манифеста будет автоматически отличаться от предыдущей версии файла и будет запускать обновление.
Нет необходимости заставлять файл отличаться, обновляя комментарий к версии.