小编Mar*_*rie的帖子

在调试时如何缓存单个渲染文件?

目前,开发人员不可能轻松地一起工作.虽然关闭了调试缩小和捆绑,但缓存破坏者也是如此.这导致每个触发javascript的开发者必须打开每个javascript文件并强制刷新以确保它们不会丢失更改.

我找到了一些我认为可能有用的参考文献,但是没有一个实现已经解决了.

第一种是通过一个变换器将变换器应用于各个Bundles 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
Run Code Online (Sandbox Code Playgroud)

这看起来很有希望,但我无法让它发挥作用.我尝试将这个类的新实例添加到每个bundle的构造函数中,并且我还尝试在创建它们之后循环遍历所有bundle.我的突破点被击中并且IncludedVirtualPath似乎已经更新.继续渲染后,路径不会更新.

我还尝试创建自定义VirtualPathProvider和自定义VirtualFile并覆盖VirtualPath以返回正确的值,但再次,当它呈现时,路径是裸的.

我是否对变换做错了什么?还有其他方法可以实现吗?

system.web.optimization

6
推荐指数
1
解决办法
75
查看次数

标签 统计

system.web.optimization ×1