XmlHttpRequest超时 - 未找到属性或方法

时间:2011-06-22 00:56:36

标签: com vbscript timeout xmlhttprequest

尝试从基础知识(VBScript / VBA脚本语言 - SummitSoftware)向Web服务发送http帖子,并希望实现超时。

显然XmlHttpRequest对象有一个超时属性(http://msdn.microsoft.com/en-us/library/ms535874%28v=vs.85%29.aspx),但尝试使用它会返回“未找到属性或方法“错误。

例如:

Dim obj As Object
Set obj = CreateObject("MSXML2.XMLHTTP.3.0")
obj.timeout = 123

这也适用于Microsoft.XMLHTTP和MSXML2变体的任何其他版本。

到目前为止,我唯一想到的是启动另一个运行vbscript以发出请求的进程。如果它运行超过给定时间,则终止该进程。然而,并不完全理想。

有关此问题的任何想法,或者如何以不同方式实施这些想法?

修改(可能的解决方案):

  1. WShell。运行VBScript以在另一个进程中运行并完成操作异步。如果跑得超过n,则杀死。
  2. 使用HTTP / 1.1 Keep-Alive标头。宁愿在客户端实现这一点。

2 个答案:

答案 0 :(得分:1)

您使用的是VBA / VB6还是VBScript?在VBScript中,Dim obj As Object无效,因为没有静态类型。

我认为您可能正在查看错误的对象引用。 MSXML2.XMLHTTP对象具有IXMLHTTPRequest接口,其定义为herereference you mention用于Internet Explorer 7 +支持的XmlHttpRequest对象。

答案 1 :(得分:0)

我在vbscript中使用它: oXMLHTTP.setTimeouts 60000,60000,60000,60000 在OPEN之前放置 doc(比照语法): http://msdn.microsoft.com/en-us/library/ms760403%28v=vs.85%29.aspx 希望它有所帮助,肯定会迟到:-) ......