.NET Core 中有等价的 HttpContext.Response.Cache 吗?
咨询区
jackmusick:
我想禁掉浏览器缓存,这样我的client端每次都能看到server端的最新内容,在 asp.net 时代可以这么写。
public class NoCacheAttribute : ActionFilterAttribute
{ public override void OnResultExecuting(ResultExecutingContext filterContext){filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));filterContext.HttpContext.Response.Cache.SetValidUntilExpires(false);filterContext.HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);filterContext.HttpContext.Response.Cache.SetNoStore();base.OnResultExecuting(filterContext);}
}
但在 asp.net core 项目中我发现并没有 HttpContext.Response.Cache
属性,请问是否有其他可替换的方式?
回答区
Darin Dimitrov:
你可以直接在 response header 上添加你需要设置的值,参考如下代码:
public class NoCacheAttribute : ActionFilterAttribute
{public override void OnResultExecuting(ResultExecutingContext filterContext){filterContext.HttpContext.Response.Headers["Cache-Control"] = "no-cache, no-store, must-revalidate";filterContext.HttpContext.Response.Headers["Expires"] = "-1";filterContext.HttpContext.Response.Headers["Pragma"] = "no-cache";base.OnResultExecuting(filterContext);}
}
mk_yo:
在 asp.net core 中,ResponseCache 特性被保留了下面,所以你可以像下面这样设置。
[ResponseCache(NoStore = true, Location = ResponseCacheLocation.None)]public class HomeController : Controller{}
Marco Alves:
如果你需要在全局作用域上禁用,可以利用 Middleware 机制实现,参考如下代码。
namespace Onsolve.ONE.WebApi.Middlewares
{public sealed class RequestHandlerMiddleware{private readonly RequestDelegate next;private readonly ILogger logger;public RequestHandlerMiddleware(ILogger<RequestHandlerMiddleware> logger, RequestDelegate next){this.next = next;this.logger = logger;}public async Task Invoke(HttpContext context){await next(context);context.Response.Headers["Cache-Control"] = "no-cache, no-store, must-revalidate";context.Response.Headers["Expires"] = "-1";context.Response.Headers["Pragma"] = "no-cache";}}
}
点评区
这功能好,让浏览器实时查看server端内容,尤其是集成到中间件中,学习了。
.NET Core 中有等价的 HttpContext.Response.Cache 吗?相关推荐
- Asp.net中的Cache--HttpRuntim.Cache 和 HttpContext.Current.Cache
在ASP.NET中有两个类都提供缓存支持, 一个是HttpRuntime类的Cache属性, 另一个是HttpContext类的Cache属性. 通过查看这两个属性的类型可以发现其实这两个属性都是Sy ...
- HttpContext.Current.Cache 过期时间
HttpContext.Current.Cache 过期时间 原文:HttpContext.Current.Cache 过期时间 为了更快的读取数据,我们一般会把常用到的数据加载到Cache中 在.N ...
- 缓存通用管理类 + 缓存 HttpContext.Current.Cache 和 HttpRuntime.Cache 的区别
以前写asp.net时用HttpContext.Current.Cache存缓存很好用,今天写了一个windows服务程序,HttpContext.Current.Cache存缓存的时候还好,取的时候 ...
- HttpContext.Current.Cache vs. HttpRuntime.Cache
.NET中Cache有两种调用方式:HttpContext.Current.Cache 和 HttpRuntime.Cache,这两种方式有什么区别呢?我们先看MSDN上的解释: Http ...
- HttpContext.Current.Cache和HttpRuntime.Cache的区别,以及System.Runtime.Caching
先看MSDN上的解释: HttpContext.Current.Cache:为当前 HTTP 请求获取Cache对象. HttpRuntime.Cache:获取当前应用程序的C ...
- asp.net core 系列之Performance的 Response compression(响应压缩)
本文,帮助了解响应压缩的一些知识及用法(大部分翻译于官网,英文水平有限,不准确之处,欢迎指正). 什么是响应压缩?响应压缩简单的说就是为了减少网络带宽,而把返回的响应压缩,使之体积缩小,从而加快响应的 ...
- HttpContext.Current.Cache在控制台下不工作
说明: Cache 类不能在 ASP.NET 应用程序外使用.它是为在 ASP.NET 中用于为 Web 应用程序提供缓存而设计和测试的.在其他类型的应用程序(如控制台应用程序或 Windows 窗体 ...
- Android网络优化基础操作攻略(DNS解析,连接复用,Response Cache,数据压缩,弱网,网络安全,监控)
做网络优化,首先我们要这个流程有一定的认识,大致流程如下: 生成请求行 查找强缓存(不一定都有) DNS域名解析(找到Host主机IP) 建立TCP连接(三次握手) 发送HTTP请求 接收HTTP响应 ...
- MIME 类型(HttpContext.Response.ContentType)列表
按照内容类型排列的 Mime 类型列表 类型/子类型 扩展名 application/envoy evy application/fractals fif application/futurespla ...
最新文章
- One sentence only!!
- php+imagick详解,PHP中imagick函数的中文解释_php技巧
- python3安卓版安装教程_安装python3的详细教程
- python爬虫---requests库的用法
- 学习过程中的一些细节
- Qt on Android 蓝牙通信开发
- 打开outlook2010里面的链接显示 “由于本机的限制,该操作已被取消。请与系统管理员联系。”解决方法...
- Nginx在嵌入式系统中的应用
- SQL——正则表达式
- 时间片轮转调度算法详解
- js二进制流转换成图片_JavaScript PNG 图片编码和解码
- 我的世界超能物质纳米机器人_我的世界超能物质攻略
- 怎么理解“付费搜索广告应当与自然搜索结果明显区分”
- 量化指标公式源码_五行量化副图指标 源码 通达信
- 几何画板用迭代法作图的技巧
- U盘中毒数据丢失如何快速恢复
- 区块链 图灵完备是什么
- 苹果6运行内存是多少_安卓手机12GB运行内存为何打不过苹果的4GB?有哪些原因?...
- WMI系列--关于WMI
- 信息安全中的尖刀burpsuite的下载,安装
热门文章
- 回文算法java实现_java算法题:最长回文串
- 常用模块之 time,datetime,random,os,sys
- Tomcat 发布项目 conf/Catalina/localhost 配置 及数据源配置
- FPGA浮点数定点化
- Leetcode: Valid Parentheses
- ubuntu make menuconfig error
- apache2 配置php,Windows配置PHP5与Apache2
- 谷歌chrome xp_将非Google任务列表添加到Chrome
- linux压缩和解压缩_Linux QuickTip:一步下载和解压缩
- PrincetonAlgorithm I - Assignment2 Deques and Randomized Queues