سؤال

أنا أستخدم VBScript .VBS في جدولة Windows.

عينة من الرموز:

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

strRESP= CallHTTP(strURL)

WScript.Echo "after doInstallNewSite: " & strRESP

المشكلة: blabla.asp يتعامل مع مهمة تحتاج حوالي 1-2 دقيقة لإكمال. يجب أن يعود "النجاح" عند الانتهاء المهمة. لكنها ترجع نتيجة فارغة إلى خادم VBS. (أقصر من الوقت العادي لإكمال الشيء. ثم أذهب للتحقق مما إذا كانت المهمة مكتملة، فإن الجواب هو نعم أيضا.

لقد وجدت أن هذا يحدث عندما تحتاج المهمة إلى وقت أطول لإكمالها.

هل هذا هو ضعف VBS؟ مساعدة!!!

هل كانت مفيدة؟

المحلول

يمكنك تحديد مهلة مكون WinHTTP:

objWinHttp.SetTimeouts 5000, 10000, 10000, 10000

يستغرق 4 معلمات: readveTimeout، connecttimeout، sendtimeout، و receivetimeout. الكل 4 مطلوبة ويتم التعبير عنها في ميلي ثانية (1000 = 1 ثانية). الإعدادات الافتراضية هي:

  • desclevetimeout: صفر (لا وقت خارج)
  • ConnectTimeout: 60،000 (دقيقة واحدة)
  • sendtimeout: 30،000 (30 ثانية.)
  • receivetimeout: 30،000 (30 ثانية).

لذلك أقترح زيادة receivetimeout

نصائح أخرى

ما هو OBJHTTP على وجه التحديد؟

هل تبحث في سجل الخادم المستهدف، هل تم استلام الطلب؟

لا يمكنني العثور على هذا في سجل الخادم.

OBJWINHTTP هو بروتوكول قياسي لإرسال المكالمة وانتظر الرد.

لقد حاولت استخدام PHP وحلاقة للقيام بالعملية بأكملها، لكنها فشلت. السبب: PHP جزء من المكون في Windows Server. عندما يتعلق الأمر بالامتياز العالمي ومجلد الملفات، يتم التحكم فيه بواسطة Windows Server. لذلك أنا أستسلم واستخدام VBS.

Objwinhttp هو شيء بمثابة حليقة في PHP.

يبدو لي مثل الطلب أن يستغرق وقتا طويلا لإكمال وخادم توقيت. أعتقد أن المهلة الافتراضية لبرامج النصوص ASP هي 90 ثانية حتى تحتاج إلى ضبط هذه القيمة في IIS أو في البرنامج النصي الخاص بك حتى ينتظر الخادم لفترة أطول قبل التوقيت.

من http://msdn.microsoft.com/en-us/library/ms525225.aspx.:

تحدد خاصية ASPScriptTimeout (بالثواني) المدة الافتراضية للوقت التي تسمح بها صفحات ASP إلى برنامج نصي لتشغيله قبل إنهاء البرنامج النصي وكتابة حدث إلى سجل أحداث Windows. يمكن أن يتجاوز البرنامج النصي ASP هذه القيمة باستخدام خاصية ScriptTimeout لكائن الجلسة المضمنة في ASP. تسمح خاصية ScriptTimeout بتطبيق ASP الخاص بك لتعيين قيمة مهلة نصية أعلى. على سبيل المثال، يمكنك استخدام هذا الإعداد لضبط المهلة بمجرد إنشاء مستخدم معين جلسة صالحة من خلال تسجيل الدخول أو طلب منتج.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top