asp.net - BundleReference 和缓存

标签 asp.net webforms

我对 BundleReference 和缓存感到困惑。对于新的网络应用程序,VS2013 在 Site.Master 中包含以下内容:

   <webopt:BundleReference runat="server" Path="~/Content/css" />

这最终呈现为:

<link href="/Content/bootstrap.css" rel="stylesheet"/>
<link href="/Content/Site.css" rel="stylesheet"/>

现在,当我对 Site.css 进行更改时,浏览器通常看不到更改,因为 Site.css 已被缓存。我见过无数处理这个问题的方法,通常都归结为做这样的事情:

<link href="/Content/Site.css?v=SomeVersionNumber" rel="stylesheet"/>

但是 BundleReference 正在渲染链接标签,它似乎不支持添加版本。处理此问题的正确方法是什么,以保证对 Site.css 的更改与相关 html 一起交付给客户端?

最佳答案

您可以像这样在 BundleReference 标签中添加修订查询字符串

<webopt:BundleReference runat="server" Path="~/Content/css?rev=1" />

这将呈现为:

<link href="/Content/css?rev=1" rel="stylesheet"/>

关于asp.net - BundleReference 和缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33174575/

相关文章:

php - 为什么散列(不使用盐)随机数?

wpf - 我需要为 wpf 和 web 表单找到一个通用的架构

c# - SeriesChartType.Point 所有点都是正方形

c# - 从 C# 代码隐藏中删除事件时,如何自动删除 asp.net webcontrol 中的事件引用?

asp.net - 无状态的 asp.net 应用程序和 ViewState

c# - 以编程方式将用户登录到 asp.net 成员资格和角色?

java - JSP 文件中的母版页

c# - 如何设置 if checkbox checked 语句?

javascript - 模块未定义,导出未定义 - 使用 typescript + React

c# - 池中的连接耗尽