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