Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Gestire il tempo di esecuzione di uno script

    Ciao a tutti,
    all'interno di una pagina ASP (classico)
    ho una funzione che si connette al server tramite XMLHTTP a Google per ottenere il tempo e la distanza tra due punti.
    Ho notato che a volte il mio server rende questa richiesta molto lenta bloccando lo script della pagina.
    Vi vorrei quindi chiedere, se posso cambiare in qualche modo lo script allegato per far si che se il tempo di esecuzione supera i cinque secondi, lo arresta o entri in una condizione che mi permetta di gestire questo evento
    Grazie

    codice:
    function GooDistInd(origine,destintario)
    
    
    Set objxml = Nothing
    
    
    
    
         ' Dichiaro le variabili che mi servono nello script
            Dim file, objXmlHttp, objXmlDom, distanza, cognome, i
    
    
    
    
            'http://maps.google.com/maps/api/directions/xml?origin=40.7143528,-74.0059731&destination=40.7035458,-74.21607971&sensor=false
             file = "http://maps.googleapis.com/maps/api/directions/xml?origin="& origine &"destination="&destintario &"&sensor=false"
    
    
            Set objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP")
                objXmlHttp.Open "GET", file, False
                objXmlHttp.Send
    
    
    
    
            Set objXmlDom = Server.CreateObject("Microsoft.XMLDOM")
                objXmlDom.async = False
                objXmlDom.loadXML(objXmlHttp.responseText)
    
    
    
    
            Set tempo = objXmlDom.getElementsByTagName("leg/distance/value")
    
    
    
    
            i = 0
    
    
    
    
            For i = 0 To tempo.length - 1
    
    
    
    
    
    
                 distanza=tempo(i).Text
                 exit for
            Next
    
    
    
    
    
    
            GooDistInd =distanza
    
    
    
    
     end function

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Grazie Andrea
    sicuramente provo lo script, perchè ho anche delle chiamate in javascript
    ma il problema dello script che ho postato ce l'ho in asp
    in pratica vorrei gestire gli errori di timeout in delle funzioni vbscript (asp)

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    se parliamo di server/siti esterni (vedi maps.googleapis.com) non credo sia possibile la gestione tramite vbscript, ameno che non vegano forniti API dei siti stessi
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    se parliamo di server/siti esterni (vedi maps.googleapis.com) non credo sia possibile la gestione tramite vbscript, ameno che non vegano forniti API dei siti stessi
    sto provando questo script
    ti faccio sapere come riesco a mandarlo in timeout

    codice:
    Const WAIT_TIMEOUT =15
    Dim http
    Set http = Server.CreateObject("MSXML2.ServerXMLHTTP")
        http.open "POST", servleturl,True'async request
        http.setrequestheader "content-type","application/x-www-form-urlencoded"
        http.setrequestheader "accept-encoding","gzip, deflate"
        http.send  "request="& sxml
        If http.waitForResponse(WAIT_TIMEOUT)Then'response ready
            http_response = http.responseText
        Else'wait timeout exceeded
            'Handling timeout etc
            'http_response = "TIMEOUT" 
        EndIf
    Set http =Nothing

  6. #6
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    ciao
    se metti 180 secondi sul tuo server (il doppio) e poi lo rimetti a posto alla fine dello script?
    il default è 90 secondi ma tu puoi fare varie prove...
    codice:
    Server.ScriptTimeout=180
    ciao
    Vic53

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.