ASP.Net Cache对象不在不同PC之间共享

时间:2013-04-17 16:28:04

标签: asp.net caching web-applications

我有一个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。如果我使用另一台PC浏览同一页面,它会在第一次加载时连接到数据库。但它下次使用缓存。问题是它不在不同的会话之间共享缓存对象。

你能告诉我我做错了吗?感谢。

1 个答案:

答案 0 :(得分:0)

根据MSDN docs,您需要使用Cache.NoSlidingExpiration而不是TimeSpan.Zero来停用滑动过期。