1

服务合同之一将一个巨大的传递DataSet给客户。我正在使用BufferedTranfer模式。

在极少数情况下,我需要发送更多数据,因此我很困惑将 TransportMode 更改为 Streamed。

"DataSet"这是用于传输数据的好习惯NetTcpBinding 吗?

有什么替代品DataSets吗?

4

3 回答 3

12

请不要从 WCF 服务返回数据集。

有关原因的信息,请参阅:从 Web 服务返回数据集是撒旦的产物,代表世界上真正邪恶的一切,

于 2012-08-03T06:24:54.807 回答
0

在 3 层应用程序中,我们确实从 WCF 服务层返回数据集,成功且不会影响性能(太多)。原因是:我们的 SQL 数据库实体可以随时通过元数据进行更改。客户端可以请求实体的元数据信息(列、类型、大小、可为空等)。

对服务的请求命名实体并检索元数据中指定的列的当前设置作为 DataSet。这允许完全的灵活性,这是硬编码对象模型所不具备的。

于 2013-02-13T17:19:12.093 回答
-2

在跨平台/网络发送数据之前,出于安全原因,建议将它们序列化甚至加密为某种格式,而 XML 似乎最有希望用于大块数据。我听说它效果更好,但我自己从未尝试过。

于 2012-08-03T06:51:04.677 回答