我正在尝试从WCF服务方法中返回一个复杂类型。我使用的是C#和.NET 4。这个复杂类型应该是不变的(就像.NET字符串一样)。此外,该服务仅返回它,而不会将其作为参数接收。
如果我只定义属性的getter,那么我会得到运行时错误。我猜这是因为没有setter导致序列化失败。尽管如此,我认为这种类型应该是不变的。
例子:
[DataContract]
class A
{
[DataMember]
int ReadOnlyProperty {get; private set;}
}
由于序列化问题,该服务无法加载。
有没有办法在WCF DataContract上创建只读属性?也许通过替换序列化器来实现?如果可以,怎么做?如果不行,您对此有什么建议?
谢谢,
Asaf