/ / jquery “async = true” извикване на .net уеб услуга не работи асинхронно - c #, asp.net, jquery

jquery "async = true" извикване на .net уеб услугата не работи асинхронно - c #, asp.net, jquery

Имам .NET webservice, която трябва да ударя асинхронно от jQuery и да актуализирам мрежата въз основа на резултата, получен от услугата. Моят проблем тук е, че услугата хит е асинхронен само за първи път и последващите заявки са синхронизирани (дори след като посочите async = true в ajax повикване), както е показано по-долу

jQuery.ajax({
type: "POST",
url: url,
data: data,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success: function(msg) {
var result = msg.d;
return callback(result);
},
error: $.callDotNetSM.onError
});

Моят .NET сервизен метод е нещо като по-долу.

[WebMethod(EnableSession = true)]
public static string GetData()
{
}

Така че, моля, помогнете ми да се обадя на услугата асинхронно през цялото време. Всяка помощ е високо оценена.

Отговори:

5 за отговор № 1

Страницата, на която се извиква WebMethod, трябва да има следното в Директивата за страницата:

<%@ Page Async="true" EnableSessionState="False" %>

Причината за това е, че ASP.NET заключва сесията всеки път, когато е достъпна, така че да не може да работи асинхронно. Дори и да не използвате сесията във вашия WebMethod, страницата все още смята, че я използва по подразбиране, освен ако не го кажете по друг начин.

Редактиране:

Вашият проблем също може да бъде, че имате EnableSession="true", Може просто да го зададете на false.