2010-11-24 18 views
5

Tengo un cuadro de texto de autocompletar que solicita un IHttphandler a través de IIS7 escrito en C#.pedido ordenado al azar para jQuery Autocompletar en C# IHttphandler

Pero parece que las solicitudes que llegan al servidor web llegan desordenadas.

Aquí es un ejemplo del registro que recibo de la IHttpHandler después de escribir 'Guidolin'

406302 2010-11-24 12:33:58,448 [8256] DEBUG Services.jQueryHandler - VALID jQueryHandler request data:guidoli RequestTime:24/11/2010 12:33:58(396) 
406418 2010-11-24 12:33:58,564 [8256] DEBUG Services.jQueryHandler - VALID jQueryHandler request data:guidolin RequestTime:24/11/2010 12:33:58(507) 
407751 2010-11-24 12:33:59,897 [8256] DEBUG Services.jQueryHandler - VALID jQueryHandler request data:gu RequestTime:24/11/2010 12:33:58(685) 
408008 2010-11-24 12:34:00,154 [8256] DEBUG Services.jQueryHandler - VALID jQueryHandler request data:guid RequestTime:24/11/2010 12:34:00(56) 
408167 2010-11-24 12:34:00,313 [8000] DEBUG Services.jQueryHandler - VALID jQueryHandler request data:guido RequestTime:24/11/2010 12:34:00(244) 
408562 2010-11-24 12:34:00,708 [5912] DEBUG Services.jQueryHandler - VALID jQueryHandler request data:gui RequestTime:24/11/2010 12:34:00(368) 
408832 2010-11-24 12:34:00,978 [8000] DEBUG Services.jQueryHandler - VALID jQueryHandler request data:guidol RequestTime:24/11/2010 12:34:00(946) 

Así que, obviamente, la solicitud no llega en el orden correcto. ¿Alguien ya enfrenta este problema o alguien sabe una solución al respecto?

Aquí está el código de jQuery para la función de autocompletar:

textBox.autocomplete({ 
    source: textBox.attr("data-handler-url"), 
    select: function (event, ui) { 
    textBox.next("input[type='hidden']").val(ui.item.objectId); 
    textBox.data('selected-value', ui.item.value); 
    } 
}); 
+0

¿Cómo es tu código jQuery? ¿Estás haciendo algo especial con eso? –

+0

no, solo está solicitando IHttphandler de esta manera: –

+0

¿Está seguro de que es un problema del lado del servidor y, en cualquier caso, importa? Cuando el sitio está muy cargado, dudo que pueda garantizar que las solicitudes se tramiten en el orden 'correcto'. – Rup

Respuesta

0

Esta es HTTP, por definición, un protocolo sin estado. No hay concepto de "orden" en HTTP; todo comienza con un mensaje de solicitud. No puede codificar su aplicación de manera tal que pueda esperar o requerir que las solicitudes tengan algún tipo de orden lógico; después de todo, son los clientes los que eligen enviar las solicitudes. Solo importa el orden físico en el que llegan.

En su ejemplo, ¿quién dice que el cliente no escribió guidolin, y luego lo cambió a gu?

Para responder a su pregunta, no hay solución para este problema porque no es un problema. Programe su aplicación para que no le importe el "orden" en el que llegan estos mensajes, si es posible.