c# Bundle Transform Break 缓存
c# Bundle Transform Break cache
我想创建一个包转换来修改包内容并触发缓存中断,但是我无法中断缓存。
到目前为止我有以下代码:-
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
StyleBundle bundle = new StyleBundle("~/Content/Global");
bundle.Transforms.Add(new CacheBreakTransform());
bundle.Include("~/css/main.css");
bundles.Add(bundle);
}
}
public class CachBreakTransform : IBundleTransform
{
void IBundleTransform.Process(BundleContext context, BundleResponse response)
{
if(UpdateNeeded())
{
response.Content = GetUpdatedContent(response.Content);
//cache break needed here
}
}
}
我可以更新捆绑包的内容,但如果捆绑包中包含的文件没有更改,捆绑包仍会被缓存,更新后的内容将不会被使用。我希望能够打破包缓存,以便始终使用更新的内容。
两个选项
设置 response.Cacheability to NoCache 会起作用,但这意味着包永远不会被缓存
我想创建一个包转换来修改包内容并触发缓存中断,但是我无法中断缓存。
到目前为止我有以下代码:-
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
StyleBundle bundle = new StyleBundle("~/Content/Global");
bundle.Transforms.Add(new CacheBreakTransform());
bundle.Include("~/css/main.css");
bundles.Add(bundle);
}
}
public class CachBreakTransform : IBundleTransform
{
void IBundleTransform.Process(BundleContext context, BundleResponse response)
{
if(UpdateNeeded())
{
response.Content = GetUpdatedContent(response.Content);
//cache break needed here
}
}
}
我可以更新捆绑包的内容,但如果捆绑包中包含的文件没有更改,捆绑包仍会被缓存,更新后的内容将不会被使用。我希望能够打破包缓存,以便始终使用更新的内容。
两个选项
设置 response.Cacheability to NoCache 会起作用,但这意味着包永远不会被缓存