问题描述
我需要什么
- 能够在一次调用中多次访问我的网络服务器上的端点
- 每个 http 调用都是异步完成的。
- 每个 http 调用都是在没有缓存/没有缓存破坏的解决方法的情况下完成的,这些解决方法填充了我的缓存。
- 与正常的 http 调用相比,每个 http 调用的速度都没有很多。
我尝试了什么
鉴于 caching issues with MSXML2.XMLHTTP60
和 issues with MSXML2.ServerXMLHTTP
on corporate networks,我正在使用 WinHttp.WinHttpRequest.5.1
。
Sub winhttp_test()
Dim http As Object
Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
http.Open "GET","http://localhost:6969/test/winhttp_1",True
http.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
http.setRequestHeader "Cache-Control","max-age=0"
http.send
'Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
http.Open "GET","http://localhost:6969/test/winhttp_2","max-age=0"
http.send
MsgBox "done"
End Sub
我的服务器永远不会看到第一个请求(即使我取消注释注释行)。
如果我删除 MsgBox
调用,那么我的服务器不会看到两个请求。如果对象在调用后立即销毁,则发送将不起作用。
如果我在没有网络问题的机器上使用 ServerXMLHTTP
,我会遇到同样的问题。
(注意:/test
是到终点的路径。所以两个调用都到达相同的终点,但使用不同的参数 url。我尝试使用 GET 和 POST 参数,但是问题还是一样)。
我如何实现我需要的行为?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)