ASP.网络缓存对象没有在不同的pc之间共享



我有一个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来禁用滑动过期

最新更新