为 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 页面设置缓存控制 的相关文章

随机推荐

  • 在 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