- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图了解 .NET Core 3.1 中的响应缓存。但它没有如我所愿。我在 Chrome devtool 中查看了网络,它显示了带有 cache-control: no-cache, no-store
的响应头.
我还发现响应头是 HeaderCacheControl{public,max-age=100}
在 Action 过滤器中。这是我期望的值,但浏览器中的实际响应头是 no-cache
.Startup
类(class):
public void ConfigureServices(IServiceCollection services)
{
services.AddResponseCaching(options=>
{
options.SizeLimit = 1024;
options.MaximumBodySize = 1024 * 1024 * 100;
options.UseCaseSensitivePaths = false;
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCookiePolicy();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseResponseCaching();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
Controller :
[ResponseCache(Duration = 100, NoStore = false)]
public IActionResult Index()
{
return View();
}
最佳答案
这是正常行为,如果页面是否从磁盘缓存中检索,则有多种因素会起作用。
我将尝试列出用户请求页面以及它是否被缓存的常见场景。
AddResponseCaching
和 UseResponseCaching
控制服务器端缓存 ResponseCacheAttribute
通过设置适当的 header 来控制客户端缓存。 services.AddControllersWithViews(options =>
{
options.CacheProfiles.Add("Caching", new CacheProfile()
{
Duration = 120,
Location = ResponseCacheLocation.Any,
VaryByHeader = "cookie"
});
options.CacheProfiles.Add("NoCaching", new CacheProfile()
{
NoStore = true,
Location = ResponseCacheLocation.None
});
})
你像这样使用它:
[ResponseCache(CacheProfileName = "Caching")]
Cache-Control: no-cache
Cache-Control: max-age=0
带有服务器尊重的请求的 header 。Disable cache
复选框如果它被选中。Cache-Control
一起发送和 Pragma
标题到 no-cache
.您可以在 MSDN 上看到缓存的所有条件。 .no-cache
默认标题。关于c# - ResponseCache 在网络核心 3.1 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64413717/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!