以下是我的wcf休息服务中的一种方法:
[OperationContract]
[WebInvoke(UriTemplate = "getInvoices", Method = "POST", RequestFormat = WebMessageFormat.Xml, ResponseFormat = WebMessageFormat.Xml)]
List<InvoiceRet> GetInvoices(GetInvoices getInvoices);
它以下一种格式返回响应:
<ArrayOfInvoiceRet>
<InvoiceRet></InvoiceRet>
<InvoiceRet></InvoiceRet>
...
<InvoiceRet></InvoiceRet>
</ArrayOfInvoiceRet>
如何修改方法以返回下一个响应
<ListInvoice>
<InvoiceRet></InvoiceRet>
<InvoiceRet></InvoiceRet>
...
<InvoiceRet></InvoiceRet>
</ListInvoice>
答案 0 :(得分:10)
您需要实现从List<InvoiceRet>
派生的自定义集合,并将其标记为CollectionDataContractAttribute
:
[CollectionDataContract]
public class ListInvoice : List<InvoiceRet>
{ }
将此集合用作操作的返回类型。 Here是在数据合同中使用集合的完整描述。