我有一个.net核心应用程序,其中我有一个带有Rest Calls的API。我尝试使用缓存配置文件缓存其中一些响应。有点像下面的代码
[Route("RefreshToken")]
[HttpGet]
[ResponseCache(CacheProfileName = "token")]
public IActionResult RefreshToken()
{return "Blah"}
缓存配置文件令牌在我的启动时定义为
services.AddMvc(options =>
{
options.CacheProfiles.Add("Default",
new CacheProfile()
{
Duration = reponseCacheDuration,
Location = ResponseCacheLocation.Client,
});
options.CacheProfiles.Add("token",
new CacheProfile()
{
Duration = (tokenExpirationMinutes - 1) * 60,
Location = ResponseCacheLocation.Client
});}
我遇到的问题是当我查看IE和Chrome中的网络流量时,IE由于某种原因无法从缓存中获取值。以下是IE Edge中的网络流量(我确实将“始终从服务器刷新”设置为关闭)
以下是来自Chrome的网络流量
您会看到Chrome会从磁盘缓存中获取值,而IE每次都会从服务器中获取它。我使用IE Edge。
RehreshToken休息呼叫的响应标头也是
为什么IE不能进入缓存。该应用程序在IE中非常缓慢,因为它会针对每个请求进入服务器。任何帮助在这里表示赞赏。