我有一个与WCF服务一起使用的类。
界面定义
[WebGet(ResponseFormat = WebMessageFormat.Json,
UriTemplate = "GetMyStuff/?p={param}",
BodyStyle = WebMessageBodyStyle.Bare)]
MyResponseObject MyMethod(string param);
我有
的属性public bool IsDecorated {
get {
return !String.IsNullOrEmpty(Decoration);
}
}
结果请求被拒绝加载。
我添加了
set { }
它有效。
任何一条线索?
答案 0 :(得分:3)
Readonly属性未序列化。因为当他们被反序列化时,他们将不会有二重奏。为避免该问题,首先不会对只读属性进行序列化。
set
为private
时的情况与
public List<Foo> Bar {get; private set;}`.
读取
Why are properties without a setter not serialized
Force XML serialization to serialize readonly property
Why isn't my public property serialized by the XmlSerializer?
编译器不关心你是否在setter中编写了逻辑。它关心的是你的财产应该有一个二传手。