![]() |
1
1
Silverlight中的任何httpget请求都倾向于缓存,因此如果希望消除客户端浏览器的缓存,请使用httppost进行web服务调用。例如,在WCF RIA域服务中,将调用和查询方法标记为:
HasSideEffects简单地说,它应该使用POST方法来避免客户端GET的缓存机制。记住,默认情况下,SL使用浏览器进行web服务调用,默认情况下使用可缓存的GET。这就是为什么您对RIA之外的服务的web服务调用被缓存的原因:浏览器看到您使用httpget并缓存结果。 对于web服务调用,默认情况下使用GET是出于性能原因,因为根据RFC 2616,所有主要浏览器都无法缓存POST响应,RFC 2616规定POST应该是一个幂等操作(aka总是导致一个预期的结果,缓存会中断,因为结果可能会随时间而改变)。 RIA中的其他操作涉及通过在LoadOperations上使用LoadBehavior来设置缓存。 |
![]() |
2
0
没有web服务调用的缓存。 您的刷新方法可能有问题。 |
![]() |
3
0
给出了两种解决方法。我将一个Guid附加到我的Url,因此每个web服务调用都使用一个唯一的Url来完成。 |
|
4
0
这是一个旧线程,但我会插话,以防万一有人遇到同样的问题。 一个解决方法是,如果您有权访问用户的浏览器,则为每个页面请求设置do refresh缓存。 希望它能帮助别人 |
![]() |
user755806 · 从Rest服务返回JSON响应? 7 年前 |