从webservice返回datatable或xml?

时间:2013-01-21 22:42:36

标签: xml web-services datatable dataset asmx

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

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

3 个答案:

答案 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)

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

但是如果你的结果适用于数据表,使用它我已经看到数据表作为许多生产代码的返回类型