11

I'm using a Web App (which is really big) so there are some parts of the application that I really don't know how they work.

I am a front end developer and I'm consuming a REST API implemented with .NET Web Api (as far as I know)

The request is simple - I use kendo Datasource to get the data from the server like this

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
                });

and the request for the data

$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
                        });

I do this in this way because there is some extra logic that manipulates the data.

This request in Chrome takes like 32 ms while it takes almost 9 seconds in IE. The data retrieved is the same (you can see the Size of response), which is an array of JSon objects (Very simple)

enter image description here

I don't know exactly if there is a cache mechanism in the backend, but it shouldn't matter because I'm able to reproduce it like this every time (fast in Chrome, really really slow on IE)

Any ideas of what could be causing this behaviour ? As I understand, if there is a cache or something, it should be the same for every browser, so this should be happening on both and not only on IE - the backend is agnostic of the browser.

Here is some extra information I have from another request to check the distribution of time in the first IE request

enter image description here

As you can see, the biggest part is the "Request", which is the Time taken to send the request and receive the first response from the server.

Thanks in Advance

Gonzalo.-
  • 12,512
  • 5
  • 50
  • 82
  • 1
    Can you provide an online demo for direct access? I work on the Internet Explorer team and would love to look into this further. – Sampson Jun 09 '15 at 06:41
  • I would love to help you but I'm not able to give you an access. The problem is that: 1- the client is a big (Really big) company, 2- there is a confidentiality agreement for the code, and the most important thing is 3- I'm a offshoring developer, which means I'm not really in the country where the company resides. I am one of many developers who works for them. I would like to ask to bosses about this but there are risks about my job because of this :/ I don't know what could happen and its difficult to take that risk. I guess I can provide information or pieces of code but its really big – Gonzalo.- Jun 09 '15 at 17:41
  • I'm seeing the exact same problems - just that we're not using KendoUI. Have you made any progress? Please share if so. Seeing GET-requests taking up to 20s in IE (10/11/Edge) and 50ms in Chrome/firefox – karl Jan 13 '16 at 17:53
  • No, not progress at all here. We set this item blocked and we continue working with other things – Gonzalo.- Jan 14 '16 at 13:03
  • I'm also seeing the exact same problem and also using KendoUI. If anyone has a solution, please update. – AsGoodAsItGets Jun 21 '17 at 09:11
  • unfortunately I don't work anymore with this app, so I don't know what happened with this problem :( – Gonzalo.- Jun 21 '17 at 13:09

1 Answers1

1

The problem is probably Windows Authentication turned on for the folder you are calling the ajax from... Same principle applies here ...

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

Problem: Async uploads randomly fail when using IE10/11 with Windows Authentication The upload either freezes indefinitely or times out if a 401 challenge is received on the HTTP POST.

Solution

For IE10 see KB2980019

No official fix for IE 11 as of November 6, 2014. See bug ID 819941

David OBrien
  • 103
  • 2
  • 11
  • we are using IE 11 for testing right now so I guess we won't have a solution so far.. Thanks, this was useful. We need to check if this same issue happens on previous versions of IE, we haven't checked that – Gonzalo.- Jun 18 '15 at 16:51