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 в пакетах. Это означает, что файл манифеста будет автоматически отличаться от предыдущей версии файла и будет запускать обновление.

Нет необходимости заставлять файл отличаться, обновляя комментарий к версии.

Другие вопросы по тегам