我是WCF的新手。因此,这个问题。我正在将asmx Web服务转换为WCF服务。
我无法定义数据合同。
我的服务合同有两个操作,一个返回Customer
数组,其中Customer
是我的自定义类型,包含一些字段。
在这里,我的问题是需要声明为数据合同。
是Customer
类还是Customers
类包含Customer
数组还是两者都有?
请建议
答案 0 :(得分:3)
您应该阅读有关DataContracts的这篇MSDN文章:Using Data Contracts。
简而言之:
您应该在服务中使用的每个课程中定义DataContract
属性,因此您需要Customer
和Customers
上的属性。
答案 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; }
将返回列表数组结构。
这可能对你有帮助....