Ho una pagina Web che utilizza AJAX per ottenere risultati di ricerca per una pagina. Sul lato server sto interrogando un servizio web che è molto lento - da 20 secondi a 2 minuti.Polling Vs Callback callback asincrono: l'approccio migliore per un servizio Web lento?
Da quello che ho capito, le mie opzioni stanno effettuando il polling o una richiesta a lungo termine.
AsyncCallback sembra essere l'ideale poiché il risultato verrebbe restituito non appena il servizio Web risponde e il thread non verrà bloccato sul lato server.
C'è un approccio migliore per farlo? Conoscete eventuali problemi con richieste HTTP a lungo termine in jQuery?
Aggiornamento: Sì, memorizzerò nella cache la risposta dal servizio web quando possibile. Non ho alcun controllo sul servizio web esterno che sto interrogando.
Questo mi sembra un buon approccio. Aiuterà la scalabilità del server e non influirà sulle prestazioni della richiesta AJAX. – btlog
Se si tratta di un servizio Web pubblico, è possibile ottenere i dati direttamente sul lato client (in modo asincrono) o dal proprio server web. Non sono sicuro di jQuery, ma la richiesta asincrona è disponibile in javascript ('XMLHttpRequest'). –
2 minuti è un tempo molto lungo. Stai implementando il lato client di paging? Sarebbe un buon approccio per ottenere invece i dati pagati dal database. –