XmlHttpRequest Timeout - свойство или метод не найдены - PullRequest
0 голосов
/ 22 июня 2011

Попытка сделать http-запись для веб-службы из базового сценария (язык сценариев VBScript / VBA - SummitSoftware) и желание реализовать тайм-аут.

Очевидно, объект XmlHttpRequest имеет свойство timeout (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 ]

1 голос
/ 23 июня 2011

Вы используете VBA / VB6 или VBScript?В VBScript Dim obj As Object недопустим, поскольку нет статической типизации.

Я думаю, что вы, возможно, смотрите на неправильную ссылку на объект.Объект MSXML2.XMLHTTP имеет интерфейс IXMLHTTPRequest, который определен здесь , а ссылка , которую вы упоминаете , относится к объекту XmlHttpRequest, поддерживаемому Internet Explorer 7 +.

0 голосов
/ 22 августа 2014

Я использую это в vbscript: oXMLHTTP.setTimeouts 60000,60000,60000,60000 для размещения перед документом OPEN (mutatis mutandis для синтаксиса): http://msdn.microsoft.com/en-us/library/ms760403%28v=vs.85%29.aspx надеюсь, что это поможет, конечно, поздно :-) ...

...