ASP.NET 中有应用程序变量吗?我想为所有用户存储一个对象,该对象应该每 5 分钟独立更新一次。但所有用户都应该始终看到它的最新版本。有什么建议(C#)吗?
最佳答案
您可以将应用程序范围的数据存储在 ASP.NET Cache 中.
使用Cache.Insert将您的项目添加到缓存中方法。将滑动过期值设置为 5 分钟的 TimeSpan。编写一个包装类来访问缓存中的对象。包装类可以提供从缓存中获取对象的方法。该方法可以检查该项目是否在缓存中,如果不在则加载它。
例如:
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;
}
}
关于c# - ASP.NET MVC 应用程序变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1582476/