【发布时间】:2014-07-29 12:02:39
【问题描述】:
我有一个用作 RestApi 的 Wcf 服务
[KnownType(typeof(myClass1))]
[KnownType(typeof(myClass2))]
[KnownType(typeof(myClassAndOther23typesOmmited))]
[DataContract]
public class ApiResult
{
[DataMember]
public bool Success { get; private set; }
[DataMember]
public object Result { get; private set; }
}
字段Result 是有问题的部分,它不能被序列化,因为它是一个对象类型。所以问题是,如何返回正确的ApiResult 对象。
注意
虽然有KnownTypeAttribute,但当我尝试将string[] 分配给ApiResult Result 字段并返回给客户端时,服务会抛出SerializationException。
更新
尝试后ApiResult<T>
服务编译成功,智能感知给出了这个
经过几次调查,收集到这些奇怪的类型名称是为了避免服务中的冲突(它是简单的类型哈希码,由字面 object 的GetHash() 实现),
这是对 nvoigt 解决方案的回应,因为无法插入图片来评论
【问题讨论】:
标签: c# wcf datacontract datamember