9

我们即将开始 GPS 跟踪开发,使用 C# 和 Web 服务与硬件单元上的第三方 java'ish 接收器进行通信。

我们有处理车辆 GPS 单元到云交换的合同。我们需要将云集成到消费者集成中,以实现我们软件当前的实时跟踪视图部分。

我的任务是创建一种使用 Web 服务将数据中继到我们的应用程序的方法。最初,数据将由少数基本元素组成;lat、long、vehicleid 等。鉴于 GPS“实时”查看的性质,这需要尽可能快且带宽消耗小。

有人建议我使用一个简单地传递逗号分隔数据的 Web 服务。我一直找不到沿着这些方向的任何东西。

我对任何建议持开放态度,因为我是 C# 新手,因为我们的应用程序目前在 VB 中。这些是到目前为止给我的要求:

  1. 快速地!
  2. 低带宽消耗
  3. 可通过以下技术消耗;ASP.NET、IOS、VB 和 VB.NET
4

3 回答 3

7

JSON 将是一个不错的选择。它相对高效并且使用 WCF REST 或 MVC Web API 很容易实现。很多人还不足以记住逗号分隔文件的糟糕过去,但我会提醒你不要使用这种格式,主要是因为它既不标准化也不被主流组件支持。

CSV 乍一看似乎是一种简单的格式,因为它有一个非常简单的规范:只需用逗号分隔所有内容。但魔鬼在细节中,例如引用的字符串以及逗号和引号的转义。也许 CSV 的主要问题是人为因素问题:许多开发人员认为他们已经了解格式,因此他们倾向于以不同的方式做出转义和引用的决定。虽有标准,但一般不遵守。在 Wikipedia 上有一个关于缺乏标准化问题以及其他一些具体问题的有趣讨论。

JSON 是一种标准化格式,几乎没有解释空间(日期表示有一些回旋余地)。如果您保持 JSON 属性名称简短,则可以实现与您在 CSV 文件中看到的接近的在线效率(如果您要向管理层展示,最好模拟 JSON vs . 带有实际开销数字的 CSV 有效负载)。您可以合理地确定,当客户端与您的服务通信时,他们将使用众所周知且经过良好测试的 JSON 解析器。最后,如果您的客户端平台需求中存在 IOS,那么期望在某些时候添加 HTML5 并不是没有道理的,而 JSON 自然是 HTML5 的一个不错的选择。

于 2012-10-19T19:48:39.573 回答
1

我认为ASP .NET Web API是您最好的选择。

1) 快!:是的,但更多地取决于您的域逻辑性能。

2)低带宽消耗: 使用JSON有默认响应类型。

3) 以下技术消耗品;ASP.NET、IOS、VB 和 VB.NET: 又是 JSON。在所有上述技术中都很容易使用(为此目的有很多库)

如果您选择此选项,请查看Apigee Web API Design 电子书。这是一个非常好的起点。

于 2012-10-19T19:53:13.873 回答
0

听起来你想让它尽可能接近实时。我会考虑一种基于 WebSocket 的方法,以消除预定轮询的延迟。.NET 和 IOS 都支持 WebSocket,但我不知道经典的 VB。

于 2012-10-19T19:55:19.383 回答