Как вы Cache-Bust индивидуально визуализированных файлов при отладке?

В настоящее время разработчики не могут легко работать вместе. Во время отладки минификация и связывание отключены, так же как и кеш-буфер. Это приводит к тому, что каждому разработчику, который касается javascript, приходится открывать каждый файл javascript и принудительно обновлять, чтобы убедиться, что они не пропустили изменения.

Я нашел пару ссылок, которые, как я думал, могли бы работать, но ни одна из реализаций еще не сработала.

Первый - применить трансформ к отдельным комплектам через IBundleTransform,

Public Class DebugCacheBuster
    Implements IBundleTransform

    Public Sub Process(context As BundleContext, response As BundleResponse) Implements IBundleTransform.Process
        If BundleTable.EnableOptimizations Then
            Exit Sub
        End If

        For Each file As BundleFile In response.Files
            file.IncludedVirtualPath &= GetPathHash(HostingEnvironment.MapPath(file.IncludedVirtualPath))
        Next
    End Sub
End Class

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

Я также пытался создать кастом VirtualPathProvider и обычай VirtualFile и переопределил VirtualPath, чтобы вернуть правильное значение, но снова, когда он рендерился, путь был пустым.

Я сделал что-то не так с преобразованием? Есть ли другой способ реализовать это?

1 ответ

Решение

По-видимому, этот код не будет работать с версией 1.1.0 System.Web.Optimizations. После обновления до версии 1.1.3 (и добавления перенаправления привязки сборки для решения проблемы совместимости с Web Grease) фрагмент в вопросе работает безупречно.

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