之前使用这个组件,是每隔十分钟取数据,没有遇到这个缓存问题,
这次使用它是频繁访问接口,就出现了一直不变的问题。觉得是缓存没有清除的问题。
网上搜了一些方案。最好的方案就是给url地址末尾给一个随机参数。用于让组件觉得是不同的网址而放弃缓存。
顺便多说一句。写企业运用的web前台的接口地址,js名,css名,其实都应该加上一个类似的版本号的随机可变的尾巴,避免被浏览器缓存。影响我们队系统的修改升级。如下图:
好言归正传:
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()文章来源:https://www.toymoban.com/news/detail-500529.html
destroy ole_http文章来源地址https://www.toymoban.com/news/detail-500529.html
到了这里,关于如何消除Msxml2.XMLHTTP组件的缓存的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!