Pregunta

Estoy usando vbscript .vbs en el programador de Windows.

Código de muestra:

objWinHttp.Open "POST", http://bla.com/blabla.asp, false
objWinHttp.Send 
CallHTTP= objWinHttp.ResponseText

strRESP= CallHTTP(strURL)

WScript.Echo "after doInstallNewSite: " & strRESP

Problema:blabla.asp está manejando una tarea que necesita entre 1 y 2 minutos para completarse.Debería devolver "éxito" cuando se complete la tarea.Pero devuelve un resultado vacío al servidor vbs.(más corto que el tiempo normal para completar la cosa.Luego voy a comprobar si la tarea está completa y la respuesta es sí también.

Descubrí que esto sucede cuando la tarea necesita más tiempo para completarse.

¿Es esta la debilidad de vbs?¡¡¡Ayuda!!!

¿Fue útil?

Solución

Puede especificar tiempos de espera para el componente winhttp:

objWinHttp.SetTimeouts 5000, 10000, 10000, 10000

Se necesitan 4 parámetros:ResolveTimeout, ConnectTimeout, SendTimeout y RecibirTimeout.Los 4 son obligatorios y se expresan en milisegundos (1000 = 1 segundo).Los valores predeterminados son:

  • Tiempo de espera de resolución:cero (sin tiempo de espera)
  • Tiempo de espera de conexión:60.000 (un minuto)
  • Enviar tiempo de espera:30.000 (30 seg.)
  • Tiempo de espera de recepción:30.000 (30 seg.)

Entonces sugiero aumentar el ReceiverTimeout

Otros consejos

¿Cuál es objHTTP específicamente?

En cuanto a registro del servidor de destino, fue la petición recibida?

No puedo encontrar esto en el registro del servidor.

objWinHTTP es un protocolo estándar para enviar la llamada y esperar la respuesta.

Yo probé usando PHP y el rizo de hacer todo el proceso, pero fracasó. Motivo: PHP es parte del componente de servidor de ventanas. Cuando vienen a privilegiar movimiento global y la carpeta de archivos, que es controlado por el servidor de Windows. Así que me rindo, y el uso de la EBV.

objWinHTTP es algo actúan como rizos en PHP.

me suena a la petición a está tomando demasiado tiempo para completar y el servidor es el tiempo de espera. Creo que el tiempo de espera predeterminado para los scripts ASP es de 90 segundos por lo que puede que tenga que ajustar este valor en IIS o en el script para que el servidor va a esperar más tiempo antes de que se agote el tiempo.

http://msdn.microsoft.com/en-us/ biblioteca / ms525225.aspx :

  

La propiedad AspScriptTimeout   especifica (en segundos) el valor predeterminado   cantidad de tiempo que las páginas ASP permiten una   secuencia de comandos para ejecutar antes de terminar el   script e incluir un suceso en el   Registro de eventos de Windows. secuencia de comandos ASP puede   reemplazar este valor mediante el uso de la   ScriptTimeout propiedad del ASP   incorporada objeto Session. los   ScriptTimeout propiedad permite que su ASP   solicitud de fijación de un guión más alto   valor de tiempo de espera. Por ejemplo, se puede   utilizar este ajuste para ajustar el tiempo de espera   una vez que un usuario particular, establece una   sesión válida por la tala en o   ordenar un producto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top