为 aspx 页面设置缓存控制

2024-01-07

我有一个 asp.net 网站,我希望客户端浏览器在获取 aspx 页面的 HTML 输出后对其进行缓存。 通过阅读,我发现 IIS7 不支持这种开箱即用的功能,因此我将以下代码添加到OnLoad我的主母版页的事件:

protected override void OnLoad(EventArgs e) {
    DateTime dt = DateTime.Now.AddDays(10);
    Response.Cache.SetCacheability(HttpCacheability.Public);
    Response.Cache.SetExpires(dt);
    Response.Cache.SetMaxAge(new TimeSpan(dt.Ticks - DateTime.Now.Ticks));

    base.OnLoad(e);
}

这样我仍然在响应标头中得到以下内容:

HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Expires: -1
Vary: Accept-Encoding
Date: Fri, 05 Jul 2013 14:25:03 GMT
Content-Length: 10201

也许我很久以前就做了一些事情来覆盖这个,但我不能,因为我一生都记得我是否做过以及做了什么。在搜索谷歌时没有找到任何相关信息让我觉得也许cache-control对于 aspx 页面来说不是一个好主意...但我需要这个以便 Cloudfront(CDN)允许整个站点交付。


在 IIS 管道中的某个位置(我还没有找到在哪里),没有设置缓存标头。在我的母版页中,在设置我想要使用的缓存标头之前,我添加了以下代码Response.ClearHeaders();这对于每个人来说可能不是一个好的解决方案,因为您可能已经在响应中包含了一些需要的标头,但就我而言,它成功了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为 aspx 页面设置缓存控制 的相关文章

  • 如何使用 ASP.NET Web API 生成 ATOM 和 RSS2 提要?

    需要采取哪些步骤来调整 ASP NET Web API 的默认 XML 输出以生成 ATOM 和 RSS2 提要 您将需要实现自定义 MediaTypeFormatter 您可能想查看 Filip 的博客文章用于 ASP NET WebAP
  • 使用 HttpClient 时,为什么服务器响应中省略了 Content-Length 标头?

    我正在使用这个问题的源代码如何异步执行httprequest并显示下载响应的进度 https stackoverflow com questions 9594318 how to asynchronous perform a httpreq
  • 正则表达式最多匹配五个单词

    我有一个正则表达式 a zA Z 0 9 1 5 它验证该单词包含字母数字字符和少数特殊字符 并且长度不应超过5人物 如何使此正则表达式接受最多五个与上述正则表达式匹配的单词 a zA Z 0 9 1 5 s a zA Z 0 9 1 5
  • 动态 C#.NET Web 服务

    我在 C ASP NET 项目中使用一个类 允许用某种随机脚本语言编写的脚本动态公开 Web 服务方法 换句话说 该脚本应该能够公开具有任何签名的任何名称的方法 只要因为它是有效的 无论如何 通过这个 SOAP 接口向外界发送 能够随意添加
  • 实体框架 4 DB 优先依赖注入?

    我更喜欢创建自己的数据库 设置索引 唯一约束等 使用 edmx 实体框架设计器 从数据库生成域模型是轻而易举的事 现在我有兴趣使用依赖注入来设置一些存储库 我查看了 StackOverflow 上的一些文章和帖子 似乎重点关注代码优先方法
  • href 中的 Mono ASP.NET MVC 波形符导致 System.NotImplementedException

    我正在尝试在 Ubuntu 14 04 1 上使用 Mono 3 12 0 制作 ASP NET 应用程序 每当我尝试在我的 href 中使用波浪号时 Layout cshtml 我得到一个System NotImplementedExce
  • 保护 ASP.NET 网站中 Elmah RSS 源的安全

    我遵循了这个问题的答案在 ASP NET 网站中保护 Elmah 的安全 https stackoverflow com questions 1245364 securing elmah in asp net website限制对 elma
  • 使用内存中的单元测试 .ToListAsync()

    下面是由于内存数据库集不支持 ToListAsync 而在 ShouldNotThrow 上失败的测试 我没有方便的确切措辞 但你明白了 如果它很重要 我正在尝试模拟实体框架版本提供的数据库集 6 1 3 TestFixture publi
  • 使用信用卡号的字符串格式

    我正在尝试将信用卡号显示为类似 的字符串 I tried txtbox Text string Format 0 ccNumber 但它不起作用 有任何想法吗 String Format 0 0000 0000 0000 0000 numb
  • 检测 ASP.NET MVC 上的会话过期

    我构建了一个购物车 它使用会话状态在用户浏览商店时保留购物车数据 我遇到一个问题 如果我在购物车的第 1 步上长时间打开浏览器窗口 然后按 转到第 2 步 我的操作会引发错误 因为第 2 步操作假定会话尚未过期并且ShopCart 对象处于
  • SQL服务器超时

    我的应用程序是在经典 asp 上开发的 但也使用 asp net 因为我正在将应用程序迁移到 Net 上 它使用 SQL Server 作为数据库并托管在 Windows Server 2003 上 现在的问题是应用程序在很长一段时间内继续
  • 从 ASP .Net Web 服务访问 MSMQ 时出现权限错误

    我写了一个从消息队列读取的 Web 服务 这在卡西尼号下工作得很好 现在我已经在 IIS 下部署了该服务 当该服务尝试访问队列时 我收到一条错误消息 队列不存在或者您没有足够的权限来执行该操作 我已将 IIS 虚拟目录上的匿名访问用户设置为
  • ListItem 附加自定义值

    我在asp net中使用dropdownlist 它有代表下拉列表项目的ListItem集合 每个ListItem只有两个字段来保存数据 Value和Text字段 但这些还不够 我想保存更多数据对于每个项目 假设附加字段中有 Text1 和
  • Log4net不会将日志写入日志文件

    我使用 Log4net 创建了一个简单的场景 但我的日志附加程序似乎不起作用 因为消息没有添加到日志文件中 我将以下内容添加到 web config 文件中
  • 输入类型=图像 - onclick(),将触发其事件,但在 jquery 中的函数上表现不佳

    我认为这可能是两篇文章 2个问题 所以如果你对此发表评论 我会将它们分开 主要问题实际上是 我怎样才能为按钮设置图像背景 简单且正确 我想现在我可以确定这些事实了 因为我在将图像设置为按钮背景时遇到了 小 问题 我想 好吧 如果很难设置的话
  • 如何禁用“您是否只想查看安全传送的网页内容”警告?

    我的网站有完整的 https 及其使用外部 jquery 资源 即 http 在 IE 8 中 当我重定向网站时 它给了我 您只想查看安全传送的网页内容 警告 如何避免这种情况 有没有可用的脚本可以解决这个问题 提前致谢 似乎有两个可能的问
  • 如何从源视图 (aspx) 中的 C# 中为按钮事件添加事件处理程序

    为 HTML 源视图中的按钮创建代码隐藏 webforms 事件处理程序的最简单方法是什么 在 VB NET 中 切换到代码隐藏页面并使用顶部的对象和事件组合框来选择和创建非常容易 在 C 中 这些都缺失了 我真的不喜欢设计视图 确保 属性
  • 如何在ASP.NET Webform中使用Jquery表单插件?

    我遇到了这个插件 http malsup com jquery form getting started http malsup com jquery form getting started 我想知道如何在 ASP NET WebForm
  • 如何使用 JavaScript 中的值填充下拉列表?

    我在 Tridion CMS 扩展中的功能区工具栏按钮中添加了一个按钮 单击该按钮后 将显示一个弹出页面 其中包含两个下拉菜单 通过更改第一个下拉控件中的值 我应该填充第二个下拉控件的值 就我而言 我正在使用ASP drop down li
  • 从应用程序内部监视 ASP.NET 应用程序内存

    我正在寻找一种方法让应用程序本身监视它正在使用的内存量 这样我就可以每小时左右将其记录在日志文件中 并密切关注应用程序的使用情况 它全部托管 因此我们可以对系统进行更改以查看发生了什么 因此解决方案必须来自应用程序代码内 我们将来可能会使用

随机推荐

  • 在 Redis 中使用嵌套对象?

    假设我有一个嵌套属性可以更改的哈希值 key1 prop1 subprop1 could change 如果我收到以下信息prop1 subprop1已更改 我可以对此属性执行原子更新吗 现在node redis saves prop1作为
  • 使用 Roslyn 拆分表达式语句

    我正在开发一个可以改写的应用程序CSharp代码 我正在这样做Roslyn 我面临着一个问题splitting expressions 样板课 class Program static void Main string args float
  • 如何自定义 git rebase --interactive 提交消息的格式?

    我使用 git 进行本地工作 并且非常喜欢它 并且遵循类似于中描述的工作流程本文 http reinh com blog 2009 03 02 a git workflow for agile teams html 所以基本上 当开始一个新
  • 分形编程[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 获取所有系统壁纸

    有没有办法以编程方式获取所有android系统壁纸 我知道如何通过WallpaperManager 然后将其保存到磁盘 但我想知道是否有一种方法可以访问操作系统中包含的所有用作系统壁纸的图片 所有壁纸都位于启动器应用程序中 由于启动器的名称
  • 如何在 Vue Web 组件中使用 vue-i18n?

    我正在使用 vue cli 3 创建一个 Vue Web 组件 target wc选项 我还需要该组件来使用 vue i18n 插件 这需要将一些选项传递给主 Vue 实例 如下所示 new Vue i18n new VueI18n 在常规
  • 无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/JDBC_DBO]]

    我收到此 Tomcat 错误 Sep 09 2012 4 16 54 PM org apache catalina core AprLifecycleListener init Information The APR based Apach
  • 如何创建脚本来查询 Google 浏览器位置

    我正在尝试找出一种从 Google 浏览器位置 API 获取地理位置数据的方法 我发现JSON CURL 和 Google 的地理定位 https stackoverflow com questions 13433901 json curl
  • iOS 8 上弹出窗口中的 UIDatePicker 问题

    还有其他人在 iOS 8 上的弹出窗口中遇到 UIDatePickers 问题吗 突然我们的日期选择器无法正确显示 参见屏幕截图 似乎选择器的一部分没有显示 不过 您仍然可以与缺失的部分交互来更改时间 我做了一些测试 日期选择器在其他视图中
  • 在draw_networkx可视化中突出显示节点而不更改节点颜色

    我正在使用 NetworkX 来可视化包含超过 1000 个节点的大型图 作为可视化的一部分 我希望能够突出显示某些节点 我见过这个问题 https stackoverflow com questions 27030473 how to s
  • 控制台上的 gcc 编译输出消息中出现奇怪的字符

    当我使用 gcc 构建 C 代码时 在 Ubuntu 10 04 x32 位系统上的 bash shell 下生成如下 Makefile gcc 输出消息在输出消息中包含一些不需要的字符 见下文 test dualboot desktop
  • 如何以编程方式添加安全区域

    当你打开视图时 它将如下图所示 iPhone x 打开视图 https i stack imgur com GJ8uy png iPhone 8 打开视图 https i stack imgur com Y1T74 png 对于 iphon
  • next-i18next 使用 Link 和 jest 进行单元测试错误“无法读取未定义的属性语言”

    next i18next使用它自己的Link组件与区域设置子路径兼容 https github com isaachinman next i18next https github com isaachinman next i18next 当
  • 如何将 Stream 转换为对象

    如何将流转换为对象 我有一个WebApi HttpGet public AttachmentViewModel DownloadAttachementDetailsByIds int attachementDetaisId Attachme
  • 如何在自定义 UIView 上显示 CGPoints

    我有一个小项目 它代表一个带有报告的应用程序 用户可以在其中绘制自定义报告CanvasView然后选择绘制的每个涂鸦 当用户单击 保存 时UIButton该报告将被序列化并保存在CoreData 当用户单击任何报告进行查看后 该报告将被带到
  • SpriteKit:精灵在已设置的物理主体下相互移动

    因此 我创建了一个基于图块移动的玩家 并在地图周围创建了一堵墙 以将玩家保持在操场上 两者都有一个物理主体 我的猜测是 我的玩家移动不正确 因此玩家会撞到墙上 让我向你展示我的代码 这就是玩家的物理主体 self physicsBody u
  • 将包含 Eclipse 项目的 CVS 存储库转换为 git 的最可靠方法?

    我遇到的情况是 我有一个旧的 CVS 存储库 我们希望将其一次性转换为 git 同时保留完整的历史记录等 存储库根目录下的所有文件夹都包含 Eclipse 项目 普通或动态 Web 项目 包括 classpath 和 project 我们使
  • 模拟模板类的静态构造函数

    我想要一个带有静态数据成员的模板化类 并通过模拟 静态构造函数 来初始化它 对于非模板类 这个问题已经得到解答 参见C 中的静态构造函数 我需要初始化私有静态对象 https stackoverflow com questions 1197
  • 通过 SSL/DavWWWRoot 连接到站点而不是常用的 URL?为什么这会产生影响?

    从这个问题继续下去 我可以从 HTML 覆盖 IE 企业模式吗 https stackoverflow com questions 49537046 can i over ride ie enterprise mode from html
  • 为 aspx 页面设置缓存控制

    我有一个 asp net 网站 我希望客户端浏览器在获取 aspx 页面的 HTML 输出后对其进行缓存 通过阅读 我发现 IIS7 不支持这种开箱即用的功能 因此我将以下代码添加到OnLoad我的主母版页的事件 protected ove