在C#IHttphandler上随机排序的jQuery自动完成请求

Pit*_*ded 5 c# jquery jquery-ui ihttphandler

我有一个自动完成文本框,通过用C#编写的IIS7请求IHttphandler.

但是到达网络服务器的请求似乎无法解决.

这是我输入'guidolin'后从IHttpHandler获取的日志示例

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) 
Run Code Online (Sandbox Code Playgroud)

很明显,请求没有以正确的顺序到达.是否有人已经面临这个问题或有人知道有关它的解决方法吗?

以下是自动完成的jQuery代码:

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);
  }
});
Run Code Online (Sandbox Code Playgroud)

Nat*_*nSr 0

这就是 HTTP,根据定义是无状态协议。HTTP 中没有“顺序”的概念;一切都从请求消息开始。您不能以预期或要求请求具有任何逻辑顺序的方式编写应用程序;毕竟,是客户端选择发送请求。只有它们到达的物理顺序才重要。

在您的示例中,谁说客户端没有输入guidolin,然后将其更改为gu

要回答您的问题,此问题没有解决方法,因为它不是问题。如果可能的话,对您的应用程序进行编程,使其不关心这些消息到达的“顺序”。