2016-09-06 2 views
6

В настоящее время разработчики не могут легко работать вместе. В то время как отладка и компиляция отключены, а также кеш-бит. Это приводит к тому, что каждый разработчик затрагивает 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 (и добавления перенаправления связывания сборки для решения проблемы совместимости с веб-смазкой) фрагмент в вопросе работает безупречно.

 Смежные вопросы

  • Нет связанных вопросов^_^