我有一个ASP。Net 4.0 web应用程序,我使用以下代码提取数据并将其放入缓存中10分钟:
List<Student> students = new List<Student>();
if (System.Web.HttpRuntime.Cache["MyStudents"] != null)
{
students = (List<students >)System.Web.HttpRuntime.Cache["MyStudents"];
Response.Write("Get From Cache");
}
else
{
students = MyClass.GetStudents();
System.Web.HttpRuntime.Cache.Insert("MyStudents", students, null, DateTime.Now.AddMinutes(10), TimeSpan.Zero);
Response.Write("Get From DB");
}
仅适用于单个用户或PC。如果我用另一台电脑浏览同一页面,它会在第一次加载时连接到数据库。但它会在下次使用缓存。问题是它不能在不同的会话之间共享缓存对象。
你能告诉我我哪里做错了吗?谢谢。
根据MSDN文档,您需要使用Cache.NoSlidingExpiration
而不是TimeSpan.Zero
来禁用滑动过期