Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WP7-基于用户输入的信息向服务器发出的动态信息请求_C#_Silverlight_Windows Phone 7_Httprequest - Fatal编程技术网

C# WP7-基于用户输入的信息向服务器发出的动态信息请求

C# WP7-基于用户输入的信息向服务器发出的动态信息请求,c#,silverlight,windows-phone-7,httprequest,C#,Silverlight,Windows Phone 7,Httprequest,这一次,我来这里只是想看看一些观点 我有一个“自动完成”组件,可以从我的服务器上获取我国家的城市名称。在这个组件上键入的每个城市名称,都应该转到我的服务器a获取一些信息 事实上,我是怎么做到的 在该组件上键入的每个字母上,它都会请求以该字母开头的城市列表。 显然,这不是一个好办法,因为每个仅仅基于一封信的请求都会给出非常相似的列表 你能想出更好的办法吗 什么是更好的方法?不要发出不必要的请求。您可以在本地预加载所有城市名称(一个拥有10000个城市的国家,其平均名称长度为11字节[10个单字节字

这一次,我来这里只是想看看一些观点

我有一个“自动完成”组件,可以从我的服务器上获取我国家的城市名称。在这个组件上键入的每个城市名称,都应该转到我的服务器a获取一些信息

事实上,我是怎么做到的

在该组件上键入的每个字母上,它都会请求以该字母开头的城市列表。 显然,这不是一个好办法,因为每个仅仅基于一封信的请求都会给出非常相似的列表

你能想出更好的办法吗


什么是更好的方法?不要发出不必要的请求。

您可以在本地预加载所有城市名称(一个拥有10000个城市的国家,其平均名称长度为11字节[10个单字节字符+NUL],所需空间不会超过110KB,具体取决于存储方法[可能接近200KB?]),因此如果您对[很可能]加载页面时会有很小的延迟,并且不太担心电话数据限制,我建议这样做),或者您可以将城市名称缓存在本地计算机上,因此虽然唯一的组合键会导致服务器抓取,但在以后的组件中重复组合键不会

不过,我对编程的这方面并没有真正的经验,所以我可能不是提供此类建议的最佳人选