我在评论中提出了这个问题,但我不认为我应该在评论第一个问题时再问第二个问题。我有AutoCompleteExtender,它非常慢..让我的列表填充AutoCompleteExtender的方法每次都必须从API获取和查询XML。问题出在我的方法上,在这个方法中,我不能访问SessonState、Cookie,甚至不能访问同一页面上的静态方法中的变量,所以我看不到每次GET和Query的替代方法。虽然这很慢,但真的不值得拥有。必须有另一种方法(可能不是使用AJAX工具包)来让它快速运行。
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static List<string> GetNames(string prefixText, int count)
{
//Code Here Takes long
}发布于 2012-05-06 08:45:21
编辑CompletionInterval、CompletionSetCount和MinimumPerfixLength几乎没有任何作用。
看起来这是一个非常常见的问题- AJAX TextboxCompleteExtender非常慢,因为它每次都会查询数据- CodePlex有一个很棒的开源解决方案来解决这个问题,如果有人遇到它的话。
发布于 2012-09-03 12:51:57
在着手任何特定的解决方案之前,您需要找出您的性能瓶颈在哪里。这将帮助您在哪里需要进行更改/修复以增加查找。
有两个方面你需要检查(假设你有一个快速连接):
CompletionInterval属性。Visual studio设置的默认值为1000ms。我把它改成了10,它变得更快了。在我的例子中,瓶颈在于控制配置本身;我的服务器端已经很快了,因为我使用trie structure进行快速的后端数据查找和检索。我还返回了一个小的记录数组,打开了客户端缓存。不过,最大的因素还是CompletionInterval。
https://stackoverflow.com/questions/10459046
复制相似问题