!!!疑难问题,高手请进--系统环境或VS环境的问题

缓存过期时间设置之后,不管用

public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{

        var sb = new StringBuilder();
        for(var i = 0; i < 3; i++)
        {
            sb.AppendLine($@"{getValue()}  {DateTime.Now}");
            Thread.Sleep(2000);
        }
        return Content(sb.ToString());
        //return View();
    }

    private string getValue()
    {
        var key = "name";
        var d = DateTime.Now;
        //var expireTime = DateTime.Now.AddSeconds(3);
        if (HttpRuntime.Cache.Get(key) == null)
        {
            //  HttpRuntime.Cache.Insert(key, d, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(3));
            HttpRuntime.Cache.Insert(key, d, null, DateTime.Now.AddSeconds(3), Cache.NoSlidingExpiration);
            return d.ToString();
        }
        else
        {
            return HttpRuntime.Cache.Get(key).ToString();
        }
    }
}

输出结果是这样的:

2017/7/20 16:22:28 2017/7/20 16:22:28
2017/7/20 16:22:28 2017/7/20 16:22:30
2017/7/20 16:22:28 2017/7/20 16:22:32

再次刷新页面,仍然不管用
2017/7/20 16:22:28 2017/7/20 16:23:17
2017/7/20 16:22:28 2017/7/20 16:23:19
2017/7/20 16:22:28 2017/7/20 16:23:21

IISExpress和IIS下都试了,就是不行,但放到同事的机器上就没问题

2个回答

有没有大神知道是怎么回事

我这里没有分了,像华佗一样有执着精神的人请来帮助回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐