如何在WCF中定义数据合约?

时间:2014-04-01 06:25:08

标签: c# wcf datacontract

我是WCF的新手。因此,这个问题。我正在将asmx Web服务转换为WCF服务。

我无法定义数据合同。

我的服务合同有两个操作,一个返回Customer数组,其中Customer是我的自定义类型,包含一些字段。

在这里,我的问题是需要声明为数据合同。

Customer类还是Customers类包含Customer数组还是两者都有?

请建议

2 个答案:

答案 0 :(得分:3)

您应该阅读有关DataContracts的这篇MSDN文章:Using Data Contracts

简而言之:

您应该在服务中使用的每个课程中定义DataContract属性,因此您需要CustomerCustomers上的属性。

答案 1 :(得分:1)

请检查此示例代码。在下面的类文件中,我为我的wcf服务创建了数据协定。使用命名空间System.Runtime.Serialization来序列化数据。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace BusinessLogic
{
     [DataContract]
     [Serializable]
     public class POSTheaterListArgs
    {
    public POSTheaterListArgs()
    {
        TheaterDates = new List<string>();
    }
    [DataMember]
    public List<string> TheaterDates { get; set; }
    [DataMember]
    public int TheaterId { get; set; }
    [DataMember]
    public int NumofScreen { get; set; }
    [DataMember]
    public int? CompanyId { get; set; }
    [DataMember]
    public int ChainId { get; set; }
    [DataMember]


    private int _Number;
    public int Number { get { return _Number; } set { _Number = value; } }

    private bool _status;
    public bool status { get { return _status; } set { _status = value; } }

}

对于数组数据

    public POSTheaterListArgs()
    {
        TheaterDates = new List<string>();
    }
    [DataMember]
    public List<string> TheaterDates { get; set; }

将返回列表数组结构。

这可能对你有帮助....