我有一些类,我传递作为服务方法的结果,那类有一个专用的获取属性:WCF在没有“设置”的属性上扼流圈。任何解决方法?
[DataContract]
public class ErrorBase
{
[DataMember]
public virtual string Message { get { return ""; } }
}
我得到的服务端异常:
System.Runtime.Serialization.InvalidDataContractException:没有设置 属性'Message'的类型为'MyNamespace.ErrorBase'的方法。
我必须把这个属性当作只有getter,我不能让用户给它赋值。我可以使用任何解决方法?或者我错过了一些额外的属性?
其实,它在我的情况下效果最好!谢谢! – Andrey 2010-02-24 22:22:41
这是一个很好的解决方案! – Russell 2010-03-01 02:01:12
谢谢,很高兴它是有用的!这实际上只是这个技巧的几个用途之一。由于getter和setter在技术上是功能性的,所以你也可以使用这种相同的技术来提供基本类型的自定义序列化(可能是XML中的自定义时间格式),而不需要使用恐吓IDataContractSurrogate。 – 2010-03-01 18:02:43