ASP.NET MVC应用程序变量?

ASP.NET中有应用程序变量吗? 我想为所有用户存储一个对象,该对象应该每5分钟独立更新一次。 但是所有用户都应该总是看到它的最新版本。 有什么建议(C#)?

您可以将应用程序范围的数据存储在ASP.NET 缓存中 。

使用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; } } 

您可以将OutputCacheAttribute用于相关方法。 它有一个持续时间属性。