Я использую веб-приложение (которое действительно большое), поэтому есть некоторые части приложения, которые я действительно не знаю, как они работают.
Я разработчик интерфейса и я использую API REST, реализованный в .NET Web Api (насколько я знаю)
Запрос прост - я использую источник данных kendo для получения данных с сервера следующим образом
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
});
и запрос данных
$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
});
Я делаю это таким образом, потому что есть дополнительная логика, которая манипулирует данными.
Этот запрос в Chrome занимает 32 мс, в то время как IE занимает почти 9 секунд. Полученные данные одинаковы (вы можете увидеть размер ответа), который представляет собой массив объектов JSon (очень простой)
Я не знаю точно, есть ли механизм кэширования в бэкэнд, но это не имеет значения, потому что я могу воспроизводить его так каждый раз (быстро в Chrome, действительно очень медленный на IE)
Любые идеи о том, что может вызвать такое поведение? Насколько я понимаю, если есть кэш или что-то в этом роде, он должен быть одинаковым для каждого браузера, так что это должно происходить как на IE, так и не только на IE - бэкэнд является агностиком браузера.
Вот дополнительная информация, которую я получил от другого запроса, чтобы проверить распределение времени в первом запросе IE
Как вы можете видеть, самая большая часть - это "Запрос", который является временем, принятым для отправки запроса и получения первого ответа с сервера.
Спасибо в Advance