如何使缓存依赖于web.config文件中的布尔值?

时间:2011-06-06 08:35:31

标签: c# asp.net caching

  

可能重复:
  Asp.NET Caching

我希望能够根据web.config文件中设置的值来打开或关闭缓存。比如说,如果值为“true”,则启用缓存。谢谢

1 个答案:

答案 0 :(得分:1)

您需要在web.config中添加密钥。等,

<add key="AllowCaching" value="true"/>

然后你可以在哪里做缓存:

DataSet dataSet;
    if(bool.Parse(System.Configuration.ConfigurationManager.AppSettings["AllowCaching"]))
    {
        //do caching
        if (Context.Cache["YourDataKey"] == null)
        {
            dataSet = GetDataForDataset();
            object objDataset = (object)dataSet;

            Context.Cache.Insert("YourDataKey", objDataset, null, DateTime.Now.AddSeconds(30),
                System.Web.Caching.Cache.NoSlidingExpiration);
        }
        else
        {
            dataSet = (DataSet)Context.Cache["YourDataKey"];
        }
    }
    else
    {
        //dont do caching
        dataSet = GetDataForDataset();
    }

其中30是您希望在缓存中保存数据的秒数。