Ajax-запрос выполняется медленно при вызове из сетки кендо - PullRequest
0 голосов
/ 16 октября 2019

У нас есть Webmethod, написанный на Visual Basic, который мы вызываем через ajax.

В стороне от WebMethod есть вызов базы данных ADO.

Ajax был упрощен и теперь безпараметры как часть исследования.

Мы получаем отладку различий в производительности в WebMethod относительно того, сколько времени занимает строка .ExecuteReader.

Если вызов ajax находится внутри kendoGrid,Строка .ExecuteReader занимает около 15-20 секунд. Если мы подключим вызов ajax непосредственно к кнопке, то строка .ExecuteReader займет всего 5 секунд.

Есть идеи, почему мы наблюдаем это другое поведение?

Код сетки кендо -

, dataSource: {
            transport: {
                read: function (options) {

                    var jqXHR =
                        $.ajax({
                            type: "POST",
                            url: "./ws.asmx/getMetrics"
                        });
                }
            },
            schema: {
                data: "data", // records are returned in the "data" field of the response
                total: "total" // total number of records is in the "total" field of the response
            },

        }

Ajax, который я подключил к кнопке, был

$.ajax({
         type: "POST",
           url: "./ws.asmx/getMetrics"
                    });

Часть веб-метода для обоих выглядит следующим образом и использует одну и ту же строку sql и connectionstring

        Dim cmd As New SqlCommand(sql, conn)

        With cmd

            conn.Open()
            .CommandTimeout = 1200

            Dim rdr As SqlDataReader

            rdr = .ExecuteReader
            Dim results As New MetricResults

            Return results

Любые идеичто мы делаем не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...