【发布时间】:2015-06-26 10:14:24
【问题描述】:
我有一个最奇怪的问题 - 刚开始使用 MemoryCache 并认为它会非常简单......结果不是。这是一个完全空的 ASP.NET MVC5 应用程序,托管在我的本地 IIS 7.5 上
在第一次请求时,该值应该已添加到缓存中 - 因此,如果我刷新页面,缓存应该保存该值。
当我调试应用程序时,断点(在我的注释行上)被击中两次:第一次请求时,第二次请求时。之后就可以使用缓存的值了。
为什么缓存没有按预期返回第一次重新加载时的值?
public class Temp
{
public int Age { get; set; }
}
public class HomeController : Controller
{
public ActionResult Index()
{
var temp = (Temp)MemoryCache.Default.Get("MyVal");
if (temp == null)
{
// THIS GETS HIT ON THE FIRST TWO REQUESTS, AFTER THAT THE CACHE RETURNS THE VALUE
temp = new Temp { Age = -127 };
MemoryCache.Default.Add("MyVal", temp, DateTime.UtcNow.AddMinutes(10));
}
return View();
}
}
【问题讨论】:
标签: asp.net memorycache