我有一个基本的 WCF 客户端服务,格式如下。第一次调用它时,它会从远程服务器返回正确的数据。但是数据经常变化。在随后的调用中,它返回与第一次调用相同的数据。因此,Excel 似乎返回缓存数据。
如果我从 Fiddler 或浏览器运行相同的 WCF 过程,它似乎总是返回当前/刷新的数据(所以我认为问题出在 Excel 中,而不是服务器中)。如何强制 Excel VBA “刷新”调用而不是从缓存中获取数据?注意:这将分发给各种最终用户,因此我无法更改客户端配置。
Public Function CallWCF() As String
Dim HttpReq As Object
Set HttpReq = CreateObject("MSXML2.XMLHTTP")
HttpReq.Open "GET", "http://ws.mydomain.com/Rest.svc/getmydata"
Call HttpReq.Send
Do While HttpReq.readyState <> 4
DoEvents
Loop
Dim resp As String
resp = HttpReq.ResponseText
CallWCF = resp
Set HttpReq = Nothing
End Function