Asp.Net Core 跨域处理_Ajax 跨域处理整理-编程思维

Asp.Net Core 缓存使用_Asp.Net core 浏览器缓存

一、ResponseCacheAttribute 浏览器缓存_客户端缓存

Asp.Net Core 项目中内置 ResponseCache() 缓存方式

使用方式如下:

/// <summary>
/// 缓存1分钟
/// </summary>
/// <returns></returns>
[ResponseCache(Duration =60)]
[HttpGet]
public IActionResult Index()
{
    return View();
}

 

浏览器缓存模式是根据浏览器 http协议 cache-control 控制:

RFC7324是HTTP协议中对缓存进行控制的规范,其中重要的是cache-control这个响应报文头。服务器如果返回cache-control:max-age=60,
则表示服务器指示浏览器端“可以缓存这个响应内容60秒”。

测试如下:

 

 

 

 

二、客户端缓存,可以配置参数使用

 /*
         Duration 代表缓存持续时间(秒)至少1秒
         VaryByHeader 设置vary 请求头信息使用vary头有利于内容服务的动态多样性。例如,使用Vary: User-Agent头,缓存服务器需要通过UA判断是否使用缓存的页面。
         Location 缓存位置
                  None 报头设置为“no-cache”不使用缓存
                  Client 只缓存在客户端。设置“Cache-control”标题为“private”。
                  Any 缓存在代理和客户端。设置“Cache-control”标题为“public”。
        NoStore   缓存中不得存储任何关于客户端请求和服务端响应的内容。每次由客户端发起的请求都会下载完整的响应内容。如果设置为False Duration必须大于0
        VaryByQueryKeys 可以按照相同页面,不同的参数进行相应的存储
        CacheProfileName 设置缓存配置文件的值,可以通过设置不同的缓存参数
         */
        [ResponseCache(Duration = 50, VaryByQueryKeys = new string[] { "q","name" })]
        public IActionResult Index(int q,string name)
        {
            return View(DateTime.Now);
        }

 

详情参考微软文档:

https://docs.microsoft.com/zh-cn/aspnet/core/performance/caching/response?view=aspnetcore-6.0

 

三、Asp.Net Core 配置相应中间件  服务器端缓存(不推荐)

此方式配合 客户端缓存 cache-control,服务器端也做缓存处理。

 

使用步骤:

1. 启动 服务器缓存中间件

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddResponseCaching();

var app = builder.Build();

app.UseHttpsRedirection();

// UseCors must be called before UseResponseCaching
//app.UseCors();

app.UseResponseCaching();

提醒:

使用 CORS 中间件时,必须在 UseResponseCaching 之前调用 UseCors。

 

2.配置控制器缓存响应

设置方式同上。

 

更多:

Asp.Net Core 6获取IHttpContextAccessor方法

Asp.Net Core Mvc下载处理__Asp.Net Core Mvc文件下载

Asp.Net Core 跨域处理_Ajax 跨域处理整理

 

版权声明:本文版权归作者所有,遵循 CC 4.0 BY-SA 许可协议, 转载请注明原文链接
https://www.cnblogs.com/tianma3798/p/16198513.html

.NET宝藏API之:IHostedService,后台任务执行-编程思维

我们在项目开发的过程中可能会遇到类似后台定时任务的需求,比如消息队列的消费者。 按照.NetF时的开发习惯首先想到的肯定是Windows Service,拜托,都什么年代了还用Windows服务(小声bb) 不用 Windows服务这不是还有Quartz之流的包嘛,也不是不行,但是随便一点小需求就上这么重的包,是不是有

Asp.Net Core中下载图片打包zip-编程思维

1、前言     好久没有更新博客了,最近没什么假期,但是却比以前还忙!工作、工作、工作,就像赶集似的,聚在一起。这个上海啥时候才能解封困在这里暗无天日的。早点解封出去看看想见的人的人,做做该做的事。工作中有那么一个需求客户想要通过自己选择列表的checkbox然后下载所选列表里面的图片,图片我们是存在图片服务器的,下

[Abp vNext 源码分析] - 文章目录-编程思维

一、简要介绍 ABP vNext 是 ABP 框架作者所发起的新项目,目前可以用于生产环境。新的 ABP vNext 框架完全是基于 ASP .NET Core 进行开发,其完全模块化的组件库能够让开发人员拥有更多的选择空间。 ABP vNext 框架核心库比 ABP 框架更加精简,因为将原有许多的组件从其核心库抽离成

http协商缓存vs强缓存_wonyun-编程思维

之前一直对浏览器缓存只能描述一个大概,深层次的原理不能描述上来;终于在前端的两次面试过程中被问倒下,为了泄恨,查阅一些资料最终对其有了一个更深入的理解,废话不多说,赶紧来看看浏览器缓存的那些事吧,有不对的地方,请各位不吝赐教啊。  本文主要讲解浏览器端的缓存,缓存的作用是不言而喻的,能够极大的改善网页性能,提高用户体验