L'impostazione di un timeout per la richiesta di ServerXMLHTTP
-
30-09-2019 - |
Domanda
Qualcuno sa come impostare messa a punto di un'azione predefinita per quando una richiesta di ServerXMLHTTP volte fuori? Sto usando setTimeouts () per impostare il time out opzioni in base al MSDN sito .
Idealmente vorrei inizializzare la richiesta di nuovo dall'inizio o aggiornare la pagina dovrebbe timeout.
Sto usando ASP classico e JScript.
Ecco la mia richiesta:
function serverXmlHttp(url) {
var serverXmlHttp;
serverXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0");
// set time out options
serverXmlHttp.setTimeouts(15000,15000,15000,15000);
// does not work
// serverXmlHttp.ontimeout(Response.Write("page has timed out"));
serverXmlHttp.open("GET", url, false);
serverXmlHttp.send();
if (serverXmlHttp.readyState == 4) {
return serverXmlHttp.responseText;
}
}
Soluzione 2
capito. Ho solo bisogno di utilizzare un'istruzione try / catch.
function serverXmlHttp(url) {
try {
var serverXmlHttp;
serverXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0");
// set time out options
serverXmlHttp.setTimeouts(15000,15000,15000,15000);
serverXmlHttp.open("GET", url, false);
serverXmlHttp.send();
if (serverXmlHttp.readyState == 4) {
return serverXmlHttp.responseText;
}
catch(error) {
// whatever I want to happen if there's an error
Response.Write("Sorry, your request has timed out");
}
}
Altri suggerimenti
La cosa importante è quello di scoprire il motivo per cui è timeout ..
è l'URL a distanza sulla stessa applicazione come pagina chiama?
Se è così dare un'occhiata al INFORMAZIONI: Non inviare ServerXMLHTTP o WinHTTP richieste allo stesso server , come vi troverete di fronte filo fame ..