C# WCF反序列化列表<;对象>;作为对象[]
我这里有点麻烦。我需要向WCF服务传递一个对象,该对象的属性是另一个对象的列表。这两个对象都是在WCF服务中定义的。 我这里有两个问题: 1-两个对象中任何一个的自定义构造函数在客户端中都不可用 2-该列表在客户端作为数组提供给我,不允许我添加任何内容以稍后将t传递回服务器 任何帮助都将不胜感激 WCF代码:C# WCF反序列化列表<;对象>;作为对象[],c#,wcf,serialization,C#,Wcf,Serialization,我这里有点麻烦。我需要向WCF服务传递一个对象,该对象的属性是另一个对象的列表。这两个对象都是在WCF服务中定义的。 我这里有两个问题: 1-两个对象中任何一个的自定义构造函数在客户端中都不可用 2-该列表在客户端作为数组提供给我,不允许我添加任何内容以稍后将t传递回服务器 任何帮助都将不胜感激 WCF代码: [Serializable] [DataContract] public class PCParamResultEntity { #region Properties [D
[Serializable]
[DataContract]
public class PCParamResultEntity
{
#region Properties
[DataMember]
public string SpecName { get; set; }
[DataMember]
public string SpecValue { get; set; }
[DataMember]
public string Grade { get; set; }
#endregion
#region Constructors
public PCParamResultEntity(string specName, string specValue, string grade)
{
SpecName = specName;
SpecValue = specValue;
Grade = grade;
}
#endregion
}
[Serializable]
[DataContract]
public class PCCheckResultEntity
{
#region Properties
[DataMember]
public string GlobalResult { get; set; }
[DataMember]
public List<PCParamResultEntity> Results { get; set; }
#endregion
#region Constructors
public PCCheckResultEntity(string globalResult, List<PCParamResultEntity> results)
{
GlobalResult = globalResult;
Results = results;
}
#endregion
}
集合(和列表)非常特定于.Net,WCF不会将其公开给服务的元数据。WCF为集合提供专用封送规则。集合将作为服务元数据中的数组公开
如果您使用的是AddServiceReference,请单击高级并选择“集合类型”,然后指定Generic.List
PCCheckResultEntity result = new PCCheckResultEntity();
result.GlobalResult = pcCheckresult.GlobalResult;
foreach (PCParamResult param in pcCheckresult.Results)
{
string paramGrade = param.Grade;
PCParamResultEntity resultEntity = new PCParamResultEntity();
resultEntity.SpecName = param.SpecName;
resultEntity.SpecValue = param.SpecValue;
resultEntity.Grade = paramGrade;
result.Results.????
}
return result;