1

我正在设计一个 C# web 服务,但我不确定输出单个客户记录的最佳实践是什么?

它目前返回一个 DataTable(它工作得很好),但这是“正常”的方法,还是我应该使用 DataRow、DataSet 或简单地构造一个普通的旧 XML 输出。

4

3 回答 3

2

根据我使用 C# Web 服务的经验,将 DataTable 返回到前端是相当标准的做法。

如果您要返回单个记录,则不需要 XML。

于 2013-01-21T22:47:47.327 回答
1

理想情况下,Web 服务与平台无关。通常,返回DataTable或其他特定于 .NET 的类型并不是最佳实践。您的客户可能无法与他们打交道。

如果您只是返回一个客户,那么只需返回它。如果您要返回客户列表,则只需返回列表:

[OperationContract]
public Customer GetCustomer(int id);

[OperationContract]
public IEnumerable<Customer> GetAllCustomers();

WCF 将以允许您的客户处理返回的方式正确地序列化它。

于 2013-01-21T22:56:21.953 回答
0

一切都取决于您所期望的客户端,某些返回类型并非在所有设备上都可用,因为我尝试始终返回自定义类。

但是,如果您的最终结果适用于数据表,请使用它,我将数据表视为许多生产代码的返回类型

于 2013-01-21T22:50:17.587 回答