如何消除Msxml2.XMLHTTP组件的缓存

之前使用这个组件,是每隔十分钟取数据,没有遇到这个缓存问题,

这次使用它是频繁访问接口,就出现了一直不变的问题。觉得是缓存没有清除的问题。

网上搜了一些方案。最好的方案就是给url地址末尾给一个随机参数。用于让组件觉得是不同的网址而放弃缓存。

顺便多说一句。写企业运用的web前台的接口地址,js名,css名,其实都应该加上一个类似的版本号的随机可变的尾巴,避免被浏览器缓存。影响我们队系统的修改升级。如下图:

如何消除Msxml2.XMLHTTP组件的缓存_第1张图片

 好言归正传:
oleobject ole_http
ole_http = create oleobject 
  
ole_http.ConnectToNewObject( "Msxml2.XMLHTTP")
string ls_url

//注意末尾的参数
ls_url = url+":"+string(port)+"/"+pathget + "?rand="+&

         string(today(),"hhmmss")  //  或者 string(Rand(32767))

//GET
ole_http.Open("GET",ls_url,True)
ole_http.Send()

Do While ole_http.readyState <> 4 //查询状态,延时
    sleep(1)
    Yield()
Loop

//获取返回、销毁对象
//这里反复读会有缓存,之前做订单读取的时间间隔很长并未出现。
//总结一下就是,如果需要缓存,则用 Msxml2.XMLHTTP;否则应该用
//Msxml2.ServerXMLHTTP。
is_data = ole_http.responseText()

destroy ole_http

你可能感兴趣的:(Msxml2.XMLHTTP)