这是我的wcf rest服务中的一种方法:

    [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>

最佳答案

您将需要实现派生自List<InvoiceRet>的自定义集合,并将其标记为CollectionDataContractAttribute:

[CollectionDataContract]
public class ListInvoice : List<InvoiceRet>
{ }

使用此集合作为操作的返回类型。 Here是在数据协定中使用集合的完整说明。

关于wcf - WCF REST : remove prefix “ArrayOf” for wcf method response,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4592933/

10-13 02:23