Asp.net 缓存在 IIS 上不工作。 IIS有没有设置

Asp.net cache not working on IIS. Is there any setting on IIS

我创建了一个基本的缓存示例,如下所示。当我发布到我的本地 IIS 时,我的代码是 运行 完美。但是,当我发布时我的真实服务器不工作。没有任何错误。但是缓存总是空的。 这可能是什么原因? IIS 或其他 windows 配置中是否有任何设置?

using System;
using System.Runtime.Caching;
using System.Web.Http;

namespace ToplumMerkezleriCommonApi.Controllers
{
    public class ValuesController : ApiController
    {
        protected ObjectCache Cache => MemoryCache.Default;
        protected CacheItemPolicy policy = null;

        public object Get(string id)
        {
            if (Cache.Get("testcache") == null)
            {
                GetAllCacheItems();
            }
            return Cache[id] as Object;
        }

        private void GetAllCacheItems()
        {
            using (CommunityCenterEntities context = new CommunityCenterEntities())
            {
                policy = new CacheItemPolicy();
                policy.AbsoluteExpiration = DateTimeOffset.Now.AddHours(24);

                Cache.Set("testcache", DateTime.Now.ToString(), policy);
            }
        }
    }
}

请检查,转到 IIS 管理器->站点节点->输出缓存->编辑功能设置->取消选中启用缓存 和 对于静态文件,启用 IIS 管理器->站点节点->HTTP 响应 header->设置通用 headers->使 Web 内容过期->立即。

我发现了问题。问题是防病毒。我们的防病毒软件正在删除静态变量和缓存值。所以,当我关闭防病毒软件时,缓存起作用了。