我创建了一个方法,它根据我提供的纬度、经度地址从 Foursquare(用于场所)和 Google(用于街道)获取数据。它旨在显示您周围的位置。然后将两个 api 的结果名称放在一个列表中
它看起来像这样:
var httpFoursquareResponse = (HttpWebResponse)httpFoursquareWebRequest.GetResponse();
var httpGoogleResponse = (HttpWebResponse)httpGoogleWebRequest.GetResponse();
List<string> foursquarePlacesNames=getNames(httpFoursquareResponse);
List<string> googleStreetsNames=getStreets(httpFoursquareResponse);
var result=foursquarePlacesNames.Union(googleStreetsNames);
return result;
问题:1)我希望同时发送请求(所以我不必等待第一个得到第二个)。但是如果我使用 AsyncCallbacks,我怎么能做那个联合,因为我将有两个响应由两个不同的线程处理。
2) 如果超过 5 秒过去并且我没有来自其中一项服务的响应,我想返回我拥有的任何数据,并且不再关心响应
你将如何实施这样的事情?我认为这是一个很常见的情况,但我没有在网上找到任何解决方案。
谢谢