0

我在 dotnet 核心应用程序中有一个返回图像的简单操作。

 [HttpGet]
 [Produces("image/jpeg")]
 public async Task<ActionResult<IFormFile>> GetPhoto(int id)
 {
        var data = await _imageLogic.GetPhoto(id);
        if(data == null)
        {
            throw new AppException("No photo", System.Net.HttpStatusCode.NotFound);
        }
        return File(data, "image/jpeg");
  }

当我将它托管在我自己的机器上时,它一直按设计工作。几个月前,我将服务转移到了第三方主机提供商,它仍然有效。但是过了一段时间(几周后我所有的图像都一样),它们在几天内保持不变,然后神奇地服务自己修复了。如果我重新启动服务,它会正常工作,直到它没有。我证实这不是客户端问题。我在不同的机器上得到相同的图像,使用邮递员等。

在 chrome 调试窗口中,我看到该服务为每个请求的 blob 分配了一个唯一的名称,所以我认为它不应该被缓存。

在此处输入图像描述

我想这是一个服务器缓存问题,但不确定为什么它只在几周后才出现以及如何防止它。

4

0 回答 0