我正在尝试通过使用部分类使 OnDeserializing 与我的 WCF 代理一起工作,但由于某种原因,不会触发 OnDeserializing。在 OnDeserialing 中,我需要检查 Web 服务是否没有返回任何内容,并在这种情况下设置我自己的默认值。在 Visual Studio 2010 中一切正常,我可以在代码编辑器中访问我的 WCF 代理的属性,但在运行时永远不会调用 OnDeserialing。你能告诉我我做错了什么吗?这是代码:
代理类
public partial class SerialInfo : object, System.ComponentModel.INotifyPropertyChanged {
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=2)]
public string Location {
get {
return this.locationField;
}
set {
this.locationField = value;
this.RaisePropertyChanged("Location");
}
}
}
扩展代理类
public partial class SerialInfo
{
[OnDeserializing]
void OnDeserializing(StreamingContext c)
{
Location = "Test value";
MessageBox.Show("OnDeserializing was triggered!");
}
}