2015-06-08 12 views
11

Sto usando un'applicazione Web (che è davvero grande) quindi ci sono alcune parti dell'applicazione che davvero non so come funzionano.Può un XmlHttpRequest richiedere più tempo in IE rispetto a Chrome?

Sono uno sviluppatore di front end e sto consumando un'API REST implementato con Api Web .NET (per quanto ne so)

La richiesta è semplice - io uso Datasource kendo per ottenere i dati dal Server come questo

var kendoDataSource = new kendo.data.DataSource({ 
        // fake transport with local data 
        transport: { 
         read: function(options) { 
          // set results 
          options.success(lookupValues); 
         } 
        }, 
        schema: { 
         parse: function (response) { 
          // sort case insensitive by name 
          response.sort(function (a, b) { 
           return (a.Name.toLowerCase() > b.Name.toLowerCase()) ? 1 : (a.Name.toLowerCase() < b.Name.toLowerCase()) ? -1 : 0; 
          }); 
          return response; 
         } 
        }, 
        // set the page size 
        pageSize: 25 
       }); 

e la richiesta per i dati

$http({ method: 'GET', url: 'REST/SystemDataSet/' + id + '/Values' }).success(function (response) { 
          // store data 
          lookupValues = response; 
          kendoDataSource.read(); 
// do some logic here 
         }).error(function(error) { 
          // logic 
         }); 

faccio questo in questo modo perché non v'è una certa logica in più che manipola i dati.

Questa richiesta in Chrome richiede come 32 ms mentre richiede quasi 9 secondi in IE. I dati recuperati sono gli stessi (si può vedere la dimensione di risposta), che è un array di oggetti JSON (molto semplice)

enter image description here

Non so esattamente se c'è un meccanismo di cache in il back-end, ma non dovrebbe importare perché sono in grado di riprodurlo in questo modo ogni volta (veloce in Chrome, davvero lento su IE)

Qualche idea di cosa potrebbe causare questo comportamento? Come ho capito, se c'è una cache o qualcosa del genere, dovrebbe essere lo stesso per ogni browser, quindi questo dovrebbe accadere su entrambi e non solo su IE - il backend è agnostico del browser.

Ecco alcune informazioni in più che ho da un'altra richiesta per verificare la distribuzione del tempo nella prima richiesta di IE

enter image description here

Come si può vedere, la parte più grande è la "richiesta", che è il tempo impiegato per inviare la richiesta e ricevere la prima risposta dal server.

Grazie in anticipo

+1

Potete fornire una demo online per l'accesso diretto? Lavoro con il team di Internet Explorer e mi piacerebbe approfondire ulteriormente. – Sampson

+0

Mi piacerebbe aiutarti ma non sono in grado di fornirti un accesso.Il problema è che: 1- il cliente è una grande (davvero grande) azienda, 2 c'è un accordo di riservatezza per il codice e la cosa più importante è che sono uno sviluppatore offshore, il che significa che non sono davvero nel paese in cui risiede la società. Sono uno dei tanti sviluppatori che lavora per loro. Vorrei chiedere ai capi di questo, ma ci sono dei rischi per il mio lavoro a causa di ciò:/Non so cosa potrebbe accadere ed è difficile correre questo rischio. Immagino di poter fornire informazioni o parti di codice, ma è veramente grande –

+0

Sto vedendo esattamente gli stessi problemi - solo che non stiamo usando KendoUI. Hai fatto qualche progresso? Per favore condividi se è così. Visualizzazione di richieste GET che richiedono fino a 20 secondi in IE (10/11/Edge) e 50ms in Chrome/firefox – karl

risposta

1

Il problema è probabilmente l'autenticazione di Windows attivata per la cartella che si sta chiamando l'Ajax da ... stesso principio si applica qui ...

http://docs.telerik.com/kendo-ui/web/upload/troubleshooting

Problema: Caricamenti asincroni casualmente falliscono quando si utilizza IE10/11 con l'autenticazione di Windows Il caricamento si blocca indefinitamente o scade se viene ricevuta una sfida 401 sul POST HTTP.

Soluzione

Per IE10 vedere KB2980019

No fix ufficiale per IE 11 a partire dal 6 novembre 2014. Sede ID bug 819941

+0

stiamo usando IE 11 per i test in questo momento quindi suppongo che non avremo una soluzione finora .. Grazie questo è stato utile. Dobbiamo verificare se questo stesso problema si verifica nelle versioni precedenti di IE, non l'abbiamo verificato –

Problemi correlati