首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AutoCompleteExtender非常慢

AutoCompleteExtender非常慢
EN

Stack Overflow用户
提问于 2012-05-05 13:10:49
回答 2查看 2.1K关注 0票数 1

我在评论中提出了这个问题,但我不认为我应该在评论第一个问题时再问第二个问题。我有AutoCompleteExtender,它非常慢..让我的列表填充AutoCompleteExtender的方法每次都必须从API获取和查询XML。问题出在我的方法上,在这个方法中,我不能访问SessonState、Cookie,甚至不能访问同一页面上的静态方法中的变量,所以我看不到每次GET和Query的替代方法。虽然这很慢,但真的不值得拥有。必须有另一种方法(可能不是使用AJAX工具包)来让它快速运行。

代码语言:javascript
复制
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static List<string> GetNames(string prefixText, int count)
 {
    //Code Here Takes long
 }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-06 08:45:21

编辑CompletionInterval、CompletionSetCount和MinimumPerfixLength几乎没有任何作用。

看起来这是一个非常常见的问题- AJAX TextboxCompleteExtender非常慢,因为它每次都会查询数据- CodePlex有一个很棒的开源解决方案来解决这个问题,如果有人遇到它的话。

票数 1
EN

Stack Overflow用户

发布于 2012-09-03 12:51:57

在着手任何特定的解决方案之前,您需要找出您的性能瓶颈在哪里。这将帮助您在哪里需要进行更改/修复以增加查找。

有两个方面你需要检查(假设你有一个快速连接):

  1. 服务器端:确保您的服务器快速返回调用。尝试返回一个小的字符串数组(不执行任何后端数据检索)。如果性能显着提高,则意味着您的服务/数据层代码存在问题,需要优化其performance.
  2. Client端:客户端的最大因素之一是CompletionInterval属性。Visual studio设置的默认值为1000ms。我把它改成了10,它变得更快了。

在我的例子中,瓶颈在于控制配置本身;我的服务器端已经很快了,因为我使用trie structure进行快速的后端数据查找和检索。我还返回了一个小的记录数组,打开了客户端缓存。不过,最大的因素还是CompletionInterval

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10459046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档