在 system.web.optimization 中自定义缓存清除

问题描述 投票:0回答:3
asp.net-mvc asp.net-optimization system.web.optimization
3个回答
9
投票

您可以使用

禁用缓存
@{string path = BundleTable.Bundles.ResolveBundleUrl("~/bundle/cssCommon", false);}
//may apply manual path transformation to remove ?v= anyway
<link href=@path rel="stylesheet" type="text/css" />

或简称

<link href="@BundleTable.Bundles.ResolveBundleUrl("~/bundle/cssCustom", false)"

但是你会遇到与缓存相关的问题,而不是 android WebView 问题。 另一种可能的方法是使用 Microsoft Ajax Minifier


4
投票

不幸的是,我们目前不支持自定义版本字符串在 url 中的显示方式。

这是我们 Codeplex 网站上问题的链接:Url 版本问题

与此同时,如果您愿意在每次更改捆绑包时手动调整捆绑包路径,则可以避免使用帮助程序,而只需拥有指向捆绑包的显式链接,每次捆绑包更改时都会更新该链接:

<link href="/Content/themes/base/css" rel="stylesheet">

或者您可以通过

bundle.Cacheability = HttpCacheability.NoCache

禁用客户端上的缓存

0
投票
<%: System.Web.Optimization.Styles.RenderFormat(NewOrders.SiteKeys.StyleVersion,"~/content/css") %>

In BundleConfig.cs C#:
 public class SiteKeys
    {
        public static string StyleVersion
        {
            get
            {
                return "<link href=\"{0}?v=" + ConfigurationManager.AppSettings["StyleVer"] + "\" rel=\"stylesheet\"/>";
              
            }
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.