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();
}
}