/ / jquery "async = true" llamada al servicio web .net que no funciona de forma asíncrona - c #, asp.net, jquery

jquery La llamada "async = true" al servicio web .net no funciona de forma asíncrona: c #, asp.net, jquery

Tengo un .NET servicio web que necesito para golpear de forma asíncrona desde jQuery y actualizar la cuadrícula en función del resultado obtenido del servicio. Mi problema aquí es que, el hit del servicio es asíncrono solo por primera vez y las solicitudes posteriores se sincronizan (incluso después de especificar async = true en la llamada ajax) como se muestra a continuación

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

Mi método de servicio .NET es algo como abajo.

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

Así que, por favor, ayúdame a llamar al servicio de forma asíncrona todas las veces. Cualquier ayuda es muy apreciada.

Respuestas

5 para la respuesta № 1

La página en la que se llama a su WebMethod debe tener lo siguiente en la Directiva de la página:

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

La razón de esto es que ASP.NET bloquea la sesión cada vez que se accede para que no pueda ejecutarse de forma asíncrona. Incluso si no usa la Sesión en su Método Web, la página aún cree que la usa de manera predeterminada a menos que le indique lo contrario.

Editar:

Tu problema también podría ser que tienes EnableSession="true". Es posible que solo tengas que configurarlo como falso.