我正在设计一个C#网络服务,但我不确定输出单个客户记录的最佳做法是什么?
它当前返回一个DataTable(它运行得很好),但这是“正常”方法,还是应该使用DataRow,DataSet或简单地构造一个普通的旧XML输出。
答案 0 :(得分:2)
根据我对C#Web服务的经验,将DataTable返回到您的前端是相当标准的做法。
如果您要返回单个记录,则不需要XML。
答案 1 :(得分:1)
理想情况下,Web服务与平台无关。通常,返回DataTable
或其他特定于.NET的类型不是最佳做法。您的客户可能无法处理它们。
如果您只是退回一个客户,那么就返回它。如果您要返回客户列表,请返回列表:
[OperationContract]
public Customer GetCustomer(int id);
[OperationContract]
public IEnumerable<Customer> GetAllCustomers();
WCF将以允许客户处理回报的方式正确序列化。
答案 2 :(得分:0)
一切都取决于您期望的客户端,某些返回类型并非在所有设备上都可用,因为我尝试始终返回自定义类。
但是如果你的结果适用于数据表,使用它我已经看到数据表作为许多生产代码的返回类型