我们即将开始使用C#和Web服务进行GPS跟踪开发,以便与硬件单元上的第三方java'ish接收器进行通信。
我们有一份处理车辆GPS装置到云交换的合同。我们需要将云集成到消费者集成中,以用于我们当前的软件实时跟踪视图部分。
我被赋予了创建使用Web服务将数据中继到我们的应用程序的方法的任务。这些数据最初将由少数和基本要素组成; lat,long,vehicleid等。考虑到GPS'实时'观看的性质,这需要尽可能快地消耗小带宽。
有人建议我使用简单传递逗号分隔数据的网络服务。我一直无法在这些方面找到任何东西。
由于我们的应用程序目前在VB中,因此我对C#的新手很开心。这些是到目前为止给我的要求:
答案 0 :(得分:7)
JSON将是一个不错的选择。它相对有效,并且使用WCF REST或MVC Web API很容易实现。许多人还不够老,不记得逗号分隔文件的旧时代,但我要提醒你不要使用这种格式,主要是因为它既没有标准也没有主流组件支持。
CSV乍一看似乎是一种简单的格式,因为它有一个非常简单的规范:用逗号分隔所有内容。但是魔鬼在细节中,例如用逗号和引号引用字符串和转义符。也许CSV的主要问题是人为因素问题:许多开发人员认为他们已经理解了格式,因此他们倾向于做出有关转义和引用的决定。虽然有a standard,但通常没有遵循。有一个有趣的讨论是缺乏标准化问题以及其他一些具体问题on Wikipedia。
JSON是一种标准化格式,解释空间很小(有一些wiggle room on date representations)。如果您保持JSON属性名称较短,则可以实现与CSV文件中所见的线程效率接近的线程效率(如果您要向管理层提供,那么模拟JSON vs可能是个好主意。带有实际开销数字的CSV有效负载)。您可以合理地确定当客户端与您的服务进行通信时,他们将使用众所周知且经过良好测试的JSON解析器。最后,如果IOS存在于您的客户端平台要求中,那么期望在某些时候添加HTML5并不是不合理的,而JSON自然是HTML5的不错选择。
答案 1 :(得分:1)
我认为ASP .NET Web API是你最好的选择。
1)快!: 是的,但更多地取决于您的域逻辑性能。
2)低带宽消耗: 使用JSON具有默认响应类型。
3)通过以下技术消费; ASP.NET,IOS,VB和VB.NET: 再次JSON。它在以上所有技术中都很容易消耗(为此目的有许多库)
如果您选择此选项,请查看Apigee Web API Design e-book。这是一个非常好的起点。
答案 2 :(得分:0)
听起来你想让它尽可能接近实时。我会考虑一种基于WebSocket的方法,以消除计划轮询的延迟。 .NET和IOS支持WebSocket,但我不知道经典的VB。