代码之家  ›  专栏  ›  技术社区  ›  Sebastian

哪一种传输速度最快:XML或数据表?

  •  1
  • Sebastian  · 技术社区  · 16 年前

    我想知道哪个更快。我来给你讲一下情况。我在局域网上,有一个使用SQL Server数据库中的数据构建的报表(如果我们需要该版本,比如2005年),并有以下方法来完成报表:

    1. 在服务器上有一个Web服务,在该服务中,数据从服务器中获取并序列化为XML。客户机将此XML用作在客户机中构建的报表的源。客户端将是一个Windows窗体应用程序。

    2. 从客户端,使用ADO.NET连接到数据库,获取一个数据表,并将其用作客户端内置报表的源。

    3. 与(2)相同,但使用数据阅读器。

    还有,还有更好的方法吗?

    2 回复  |  直到 9 年前
        1
  •  3
  •   tvanfosson    16 年前

    对XML的序列化将花费时间、XML结构的开销和反序列化的时间。然而,它将提供一种可被更多技术使用的格式。如果您使用的是.NET端到端,而且这不太可能改变,那么我不会使用XML,而是使用框架提供的数据访问方法。就个人而言,我可能会在数据表或数据阅读器上使用LINQ,但这比任何性能优势都更易于在客户端使用和可读性。

        2
  •  2
  •   John Saunders    16 年前

    最佳实践是不要在Web服务的接口中使用特定于.NET的类型。即使您今天确信您的服务不会被.NET程序以外的任何程序调用,情况也会发生变化,明天您可能会被告知该服务将由Perl程序调用。

    Perl程序不理解数据集。也不做Java程序,也不做.NET以外的任何事情。

    最佳实践是创建一个只包含您需要传输的数据的数据传输对象,在具有基元类型的简单属性中,或基元类型的集合或数组中,或数据传输对象的集合或数组中,等等。任何客户机都可以理解这些。

    推荐文章