【发布时间】:2019-06-11 21:19:29
【问题描述】:
我有一个 WCF 服务,我可以使用合同方法从一个点到另一个点(纬度和经度)以米为单位获得距离:
public double GetDistance(double originLat, double originLng, double destLat, double destLng)
其中一个点是一个常数点,另一个点是我需要根据我收到的其他一些信息从数据库中提取的几个位置之一。最终目标是获得最接近该常数点的 5 个位置。
想象一下,如果使用 WCF 服务每次请求都要花钱。使用最直接的方法,我需要从数据库中获取所有位置,然后需要从服务中为每个位置发出请求。是否有以某种方式使其变得更好的方法,例如以某种方式过滤数据库中的位置以减少对服务的请求?
【问题讨论】:
-
您是否使用 WCF 服务来获取 2 个长/纬点之间的点对点距离?如果你是,那么你可以自己计算。
-
我没写,但我需要一个不涉及在客户端实现方法的答案
-
这是一个有问题的约束。现有的任何语言都可以进行这种计算。缓存无济于事,因为请求不会重复太多。请求的可能组合太多了。我看不到任何涉及客户端调用远程应用程序以解决数学问题的好的解决方案。它所做的只是形成请求、发送、等待和解析结果的工作比数学本身复杂得多。我会对你为什么不能在客户端上做这件事感兴趣,因为即使看起来你做不到,也可能有办法。