我想更改从 bundle 请求发送的缓存头。当前,它随User-Agent的不同而变化,但是我不希望这样,有没有办法更改 bundle 请求发送的 header ?

快速浏览System.Web.Optimization程序集后,我可以看到在Bundle.SetHeaders中设置了 header ,它是一个私有(private)静态函数,因此尽管我希望证明自己是错误的,但我认为它不可能。

最佳答案

这不是我们当前公开的内容。我们仅在BundleResponse上公开IBundleTransform可能会更改的Cacheability属性。是的,我们明确设置了以下内容:

                HttpCachePolicyBase cachePolicy = context.HttpContext.Response.Cache;
                cachePolicy.SetCacheability(bundleResponse.Cacheability);
                cachePolicy.SetOmitVaryStar(true);
                cachePolicy.SetExpires(DateTime.Now.AddYears(1));
                cachePolicy.SetValidUntilExpires(true);
                cachePolicy.SetLastModified(DateTime.Now);
                cachePolicy.VaryByHeaders["User-Agent"] = true;

我们有一个积压的工作项可以打开它,并在将来使它更可扩展/可定制。

08-24 23:33