2011-06-06 74 views
1

可能重複:
Asp.NET Caching如何使緩存依賴於web.config文件中的布爾值?

我希望能夠打開或關閉取決於web.config文件中設置的值緩存。舉例來說,如果該值爲'true',則啓用緩存。謝謝

+2

你得到的答案有什麼問題[這裏](http://stackoverflow.com/questions/6249017/asp-net-caching)? – Oded 2011-06-06 08:37:20

+0

您提供的代碼不適合我的方案,因爲我不得不重寫現有代碼,例如: if(bool.parse(confi .... ==「true」){ if(Session [x ] == NULL){ 加載XML文檔,並將其插入到Cache對象 } 其他{ 得到Cache對象的XML文檔。 }} 其他 通過 重裝從對象的文檔重複自己。 我確定有一個更好的解決方案。 – Johan 2011-06-06 08:42:11

+2

然後編輯您的原始問題並添加詳細信息,而不是問一個重複的問題,甚至更少的細節。 – Oded 2011-06-06 08:42:47

回答

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是您要在高速緩存中保存數據的秒數。