Vbscript zurückkehren leere Daten
Frage
Ich bin mit vbscript vbs in Windows Scheduler.
Beispielcode:
objWinHttp.Open "POST", http://bla.com/blabla.asp, false
objWinHttp.Send
CallHTTP= objWinHttp.ResponseText
strRESP= CallHTTP(strURL)
WScript.Echo "after doInstallNewSite: " & strRESP
Problem: blabla.asp ist der Umgang mit einer Aufgabe, die Notwendigkeit, etwa 1-2 Minuten zu vervollständigen. Es sollte ‚Erfolg‘ zurück, wenn die Aufgabe erledigt. Aber es ein leeres Ergebnis an den Server vbs zurückzukehren. (Kürzer als die normale Zeit, um die Sache zu beenden. Ich gehe dann zu prüfen, ob die Aufgabe abgeschlossen ist, ist die Antwort ja auch.
Ich fand dies, wenn die Aufgabe Notwendigkeit längere Zeit vollständig geschehen.
Ist das die Schwäche der vbs? Hilfe !!!
Lösung
Sie können Timeouts für die winhttp Komponente angeben:
objWinHttp.SetTimeouts 5000, 10000, 10000, 10000
Es dauert 4 Parameter: ResolveTimeout, Connect, Sendtimeout und ReceiveTimeout. Alle 4 sind erforderlich und werden in Millisekunden (1000 = 1 Sekunde) ausgedrückt. Die Standardwerte sind:
- ResolveTimeout: Null (kein Timeout)
- Connect: 60.000 (eine Minute)
- Sendtimeout: (30 Sekunden warten.) 30.000
- ReceiveTimeout: (30 Sekunden warten.) 30.000
So schlage ich vor, die Erhöhung der ReceiveTimeout
Andere Tipps
Was ist objHttp konkret?
Mit Blick auf das Protokoll des Zielservers, war die Anforderung empfangen?
Das kann ich nicht in Server-Log finden.
objWinHTTP ist ein Standardprotokoll Anruf und warten auf Antwort zu senden.
Ich habe versucht, PHP und curl mit dem gesamten Prozess zu tun, scheiterte aber. Grund: PHP Teil der Komponente in Windows-Server ist. Wenn kommen, um globale Berechtigung und Datei-Ordner zu verschieben, wird es von Windows-Server gesteuert. Also gebe ich auf, und die Verwendung vbs.
objWinHTTP ist etwas, wirken wie Locke in PHP.
klingt für mich wie die Anforderung dauert zu lange abgeschlossen und der Server ein Timeout. Ich glaube, das Standard-Timeout für ASP-Skripten 90 Sekunden, so dass Sie müssen diesen Wert in IIS oder in Ihrem Skript anzupassen, so dass der Server länger warten, bevor eine Zeitüberschreitung.
http://msdn.microsoft.com/en-us/ Bibliothek / ms525225.aspx :
Die AspScriptTimeout Eigenschaft Standard Spezifiziert (in Sekunden) Länge der Zeit, dass ASP-Seiten ermöglichen ein Skript ausgeführt werden soll, bevor der Abschluss Skript und ein Ereignis an das Schreib Windows-Ereignisprotokoll. ASP-Skript kann diesen Wert überschreiben, indem die Verwendung von Script Eigenschaft des ASP Einbau-Objekt Session. Das Script Eigenschaft ermöglicht Ihrem ASP Anwendung eine höhere Skript zu setzen Timeout-Wert. Zum Beispiel können Sie Verwenden Sie diese Einstellung den Timeout einstellen Sobald ein bestimmter Benutzer baut eine gültige Sitzung durch die Protokollierung in oder Bestellung eines Produkts.