gpt4 book ai didi

asp.net-mvc - 在 Web API c# MVC 中使用 HttpActionExecutedContext 时出现缓存问题

转载 作者:行者123 更新时间:2023-12-05 07:03:56 24 4
gpt4 key购买 nike

我面临着我生命中最糟糕和尴尬的问题。

我正在使用 HttpActionExecutedContext 来缓存我的 WEB API 端点。

我的 web API 在缓存的情况下工作正常,但是当我更新数据并且当时我想重置缓存时出现问题。

问题 1:-当我从服务器中删除 bin 文件夹时,API 也将数据发送给我。(我在 ANDROID 手机中使用了 API,我在删除 BIN 后在 2 部手机中进行了测试,即使在 BIN DELETION 之后,第 1 部手机 API 仍在提供数据,而在第 2 部手机 API 中提供了部分数据,例如 1 个端点正在工作,但另一个不是)。这怎么可能?

问题 2:-当我们使用 HttpActionExecutedContext 时,数据保存在哪里。数据是否保存在应用程序池或其他东西中?

问题 3:-如何清除WEB API的缓存。

这是WEB API的代码。

public class CacheFilter : ActionFilterAttribute
{
public int TimeDuration { get; set; }
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
actionExecutedContext.Response.Headers.CacheControl = new System.Net.Http.Headers.CacheControlHeaderValue
{
MaxAge = TimeSpan.FromMinutes(1440),
MustRevalidate = true,
Public = true
};
}
}

Controller 代码

[HttpGet]
[Route("SubCategory")]
[CacheFilter()]
public string SubCategory()
{
BAL_CAT_ALL obj = new BAL_CAT_ALL();
var data = obj.GetAllSubCategory();
return data;
}

最佳答案

当数据更新后向服务器发出请求时,请在请求中添加以下 2 个 header :-
'缓存控制','无缓存' 'Pragma','无缓存'
试一试,让我们知道问题是否已解决?

关于asp.net-mvc - 在 Web API c# MVC 中使用 HttpActionExecutedContext 时出现缓存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63069100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com