使用缓存设置,是否可以使功能仍然触发

时间:2010-05-13 21:09:30

标签: .net vb.net web-services caching

如果我的缓存存储设置为我的Web服务的某个值,是否可以强制触发该功能?

感谢。

2 个答案:

答案 0 :(得分:0)

您可以强制执行的唯一方法是向服务器发送无缓存标头。

有关信息,请查看MSDN Documentation,特别是下面引用的评论。

  

另外,HTTP表示a   用户代理(浏览器或调用   应用程序)应该能够   通过设置来覆盖服务器缓存   “缓存控制”到“无缓存”。 ASP.NET   因此,应用程序忽略缓存   他们找到“无缓存”的结果   报头中。

答案 1 :(得分:0)

这是我通常使用的模式。如果该项目存在于缓存中,则使用它,否则您创建它并将其存储在缓存中:

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