0
我有最奇怪的问题 - 刚开始使用MemoryCache,并认为它会非常简单...事实并非如此。这是一个完全空白的ASP.NET MVC5应用程序,托管在我的本地IIS 7.5上MemoryCache.Default在第一个请求后失效
在第一个请求上,该值应该已经添加到缓存 - 所以如果我刷新页面,缓存应该保存该值。
当我调试应用程序时,断点(在我的评论线上)被击两次:第一次请求时,第二次请求。之后,可以使用缓存的值。
为什么缓存不按预期的方式返回第一次重新加载的值?
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();
}
}