我正在处理一些网络服务,我每次从网络服务获取一些数据时,我会循环请求网络服务大约4000次,这很好......但问题是这需要时间......显然一次花费4000倍,但是有什么方法可以用这个来优化时间吗?感谢。
其实..我有3个dropdownlistbox。第一个dropdownlistbox即将到达国家,第二个即将到达所选国家/地区的城市。第三个是世界上所有的城市。第三个下拉列表框是来自世界各地的4413个城市。
为什么我要用这个?因为在。这个网络服务用于为机场国家提供数据。
第一。用户在第一个dropdownlistbox中选择contry。它的回发并使用webservices请求和响应填充第二个。按所选国家/地区的城市名称。
现在。从第二个dropdownlistbox中选择国家/地区,这是我的起点。
现在我将该国家的机场航班服务与其他城市相匹配,并将所有城市名称列入与该国家相连的第三个下拉列表框。
现在。这个我填写dropdownlistbox的所有数据都是..使用webservices。请求和响应..
现在的问题是。在世界上有4414个城市。所以。我将这个城市与所有这些城市相匹配。所以。请求正在增加,响应需要花费很多时间。
所以帮助我摆脱这个问题。
告诉我用于减少这段时间的任何方法。我在做一些编码。哪个是对的。但是因为这个问题。它花了这么多时间来回应。所以。给我任何方法。我过去常常减少时间。
感谢。
答案 0 :(得分:3)
缓存城市列表, 它不会在一周内改变。
答案 1 :(得分:1)
如果您可以访问webservice(=您是它的开发人员)和使用它的客户端,您应该优化它(或创建一个额外的功能),以便您可以将来自4000个查询的所有数据放入一次呼叫以避免连接/呼叫开销。
如果Web服务不属于您,您应该看看服务器是否支持keep alive
,因为这样您就可以在同一个连接上发送多个HTTP请求,而不必每次都重新连接。
这两个假设您在同一服务器上使用不同的值调用相同的方法。
答案 2 :(得分:1)
我不确定我完全理解你的情景。但是,您应该只在您的应用中缓存机场/城市列表。您可以每天更新缓存或其他东西,以确保它是新鲜的。