【发布时间】:2009-10-17 15:41:21
【问题描述】:
ASP.NET 中有应用程序变量吗?我想为所有用户存储一个应该每 5 分钟独立更新一次的对象。但是所有用户都应该总是看到它的最新版本。有什么建议(C#)吗?
【问题讨论】:
标签: c# asp.net-mvc variables
ASP.NET 中有应用程序变量吗?我想为所有用户存储一个应该每 5 分钟独立更新一次的对象。但是所有用户都应该总是看到它的最新版本。有什么建议(C#)吗?
【问题讨论】:
标签: c# asp.net-mvc variables
您可以在 ASP.NET Cache 中存储应用程序范围的数据。
使用Cache.Insert 方法将您的项目添加到缓存中。将滑动到期值设置为 5 分钟的 TimeSpan。编写一个包装类来访问缓存中的对象。包装类可以提供从缓存中获取对象的方法。该方法可以检查item是否在缓存中,如果不在则加载。
例如:
public static class CacheHelper
{
public static MyObject Get()
{
MyObject obj = HttpRuntime.Cache.Get("myobject") as MyObject;
if (obj == null)
{
// Create the object to insert into the cache
obj = CreateObjectByWhateverMeansNecessary();
HttpRuntime.Cache.Insert("myobject", obj, null, DateTime.Now.AddMinutes(5), System.Web.Caching.Cache.NoSlidingExpiration);
}
return obj;
}
}
【讨论】:
您可以将 OutputCacheAttribute 用于相关方法。它有一个持续时间属性。
【讨论】: