ASP.NET中是否有应用程序变量?我想为所有用户存储一个对象,该对象应每5分钟独立更新一次。但是所有用户都应该始终看到它的最新版本。有什么建议(C#)?
答案 0 :(得分:3)
您可以将应用程序范围的数据存储在ASP.NET Cache。
中使用Cache.Insert方法将项目添加到缓存中。将滑动到期值设置为TimeSpan为5分钟。编写一个包装类来访问缓存中的对象。包装类可以提供从缓存中获取对象的方法。此方法可以检查项目是否在缓存中,如果不在,则加载它。
例如:
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;
}
}
答案 1 :(得分:0)
您可以将OutputCacheAttribute用于相关方法。它有一个持续时间属性。