以下の形式の基本的な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