我正在尝试创建一个缓存其输出内容的Web服务。
我添加了[WebMethod(CacheDuration=1800)]
,但问题是我希望网络服务在30分钟之后自动更新其缓存,而不需要任何请求。
我在C#中使用.net。 Web服务实际上是一个获取xml数据的代理,解析它并将其发送给客户端。
Web服务如何在一段时间后(单独)更新其缓存?
答案 0 :(得分:0)
您可以使用其中一个timer classes刷新缓存的结果集 - 将其保存在类的字段中。
这样您就可以管理缓存而不是IIS。
计时器的替代方法是使用Cache
类 - 使用CacheItemUpdateCallback
在缓存过期后自动刷新缓存(仍然留下一个小窗口,用户可以将方法称为 它刷新 - 可能使用两个缓存项目。)