就在这里呆了半天;
1)我从服务中返回这个类;
public class ServiceResult
{
public object Value { get; set; }
public string ExceptionMessage { get; set; }
public double Duration { get; set; }
public int Count { get; set; }
}
2)
public class KResult
{
public int Count { get; set; }
public KResultItem[] Items { get; set; }
}
3)
public class KResultItem
{
public string Name { get; set; }
public string Surname { get; set; }
public DateTime Date { get; set; }
}
当我尝试将 Value 设置为我的类 2 并对其进行反序列化时,我遇到了异常。
我从 wcf 得到了这个例外;
例外; 元素“ http://schemas.datacontract.org/2004/07/Test.Services:Value ”包含映射到名称“ http://schemas.datacontract.org/2004/07/Test.Services ”的类型的数据:K结果'。反序列化器不知道映射到此名称的任何类型。考虑使用 DataContractResolver 或将与“KResult”对应的类型添加到已知类型列表中 - 例如,通过使用 KnownTypeAttribute 属性或将其添加到传递给 DataContractSerializer 的已知类型列表中。
我的界面;
[ServiceContract]
public interface IBaseService
{
[OperationContract]
ServiceResult Execute(ServiceCommand serviceCommand);
}
说真的,我不知道我现在错过了什么,但我无法通过这个,任何帮助都会很棒,让我开心!
第一次行动
我像这样添加了来自异常 ServiceResult 类的建议;
[KnownType(typeof(KResult))]
[KnownType(typeof(KResultItem))]
public class ServiceResult
{
public object Value { get; set; }
public string ExceptionMessage { get; set; }
public double Duration { get; set; }
public int Count { get; set; }
}
仍然有同样的例外。
已经谢谢大家了。