2012-08-12 209 views
0

我在asp.net Web應用程序的global.asax文件中聲明的HttpRuntime.Cache是​​否在客戶端或服務器端進行緩存?HttpRuntime.Cache在客戶端/服務器端執行緩存

HttpRuntime.Cache["Key"] 

也有任何機會,我們可以設置這段代碼的滑動到期?

在此先感謝。

編輯: 我認爲這將是很多思考後的可能的解決方案。

爲整個asp.net web應用程序放置一個basePage類,其中所有system.web.ui.page都將從此類繼承。

和下面的代碼

protected override void OnInit(EventArgs e) 
     { 
      OutputCacheParameters aa = new OutputCacheParameters(); 
      aa.Location = OutputCacheLocation.Client;<-- I am not sure whether this will work and gets added to the pages correctly or not.Any Ideas on these two lines of code. 
      base.OnInit(e); 
      Cache.Add("State", "", null, DateTime.Now.AddMinutes(20), Cache.NoSlidingExpiration, CacheItemPriority.High, null); 
      Cache.Add("StatesGlobal", "", null, Cache.NoAbsoluteExpiration, new TimeSpan(1,0,0,0,0), CacheItemPriority.High, null); 
     } 

回答

0

在服務器上。

如果你想設置的過期策略的項目,你應該使用Cache.Add API:

http://msdn.microsoft.com/en-us/library/system.web.caching.cache.add.aspx

+0

你給我一半一片面包,我期待的。但是如何根據客戶端服務器爲此設置位置。或者是否有任何默認位置。根據你的網址「onRemoveCallback」,我們可以有任何其他的解決方法,而不是定義回調方法,如把null或類似的東西? Thnks爲快速回復。 – hungrycoder 2012-08-12 21:33:22