ASP.NET MVC应用程序变量?

时间:2009-10-17 15:41:22

标签: c# asp.net-mvc variables

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

2 个答案:

答案 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用于相关方法。它有一个持续时间属性。