随着cacheduration设置,是否有可能使该功能仍然触发
答
你可以强制它的唯一方法是发送一个无缓存头到服务器。
有关信息查看MSDN Documentation,特别是以下引用的注释。
此外,HTTP指示 用户代理(浏览器或调用应用 )应该能够 倍率服务器缓存通过设置 “缓存控制”到“无缓存”。因此,ASP.NET 应用程序在找到“no-cache”标头时忽略缓存的 结果。
答
下面是我通常使用的模式。如果你使用它的缓存中存在的项目,否则你创建它,并把它存储在缓存:
Dim Obj = Cache("YourKeyHere")
Dim YourObj As DataSet
If Obj IsNot Nothing AndAlso TypeOf Obj Is DataSet Then
YourObj = DirectCast(Obj, DataSet)
Else
YourObj = New DataSet()
'...do your normal loading of your object here
Cache.Insert("YourKeyHere", YourObj)
End If
相反,如果您希望在缓存过期,你可以使用onUpdateCallback
嗯,我被通知从客户方面思考更多。假设我要返回一个值列表来填充下拉框。如果想要获取最新的值,是否有一种方法可以重新使用该函数?或者我必须写一个全新的功能。 – 2010-05-14 15:37:08