【问题标题】:web service passing comma delimited data传递逗号分隔数据的 Web 服务
【发布时间】:2012-10-19 19:42:18
【问题描述】:

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

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

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

有人建议我使用简单地传递逗号分隔数据的 Web 服务。我一直无法找到与这些相关的任何内容。

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

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

【问题讨论】:

    标签: c# web-services csv


    【解决方案1】:

    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 的一个不错的选择。

    【讨论】:

    • 我同意不使用传递逗号分隔的字符串。我的 Google-Fu 没有找到有关该主题的任何信息一定是有充分理由的。您能否详细说明使用这个概念的陷阱,以便我可以摆脱管理层的头脑?
    • 好的,我想我已经就这个话题说了所有我能说的。祝你好运!
    【解决方案2】:

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

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

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

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

    如果您选择此选项,请查看Apigee Web API Design e-book。这是一个很好的起点。

    【讨论】:

    • 根据我的研究,您的 cmets 符合我的理想发展。感谢您提供电子书链接!
    【解决方案3】:

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

    【讨论】:

    • 我怀疑 OP 指的是 .NET 上下文之外的 VB。
    • 这很有趣。经典 VB 正大受欢迎,所以这可能是一种可能性!不幸的是,该应用程序相当陈旧,并且是用 VB6 编写的(可怕)。今年是我们将进行经典更新的最后一次修订。下一个版本将是 .NET。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多