1
WCFプロキシで部分クラスを使用してOnDeserializingを使用しようとしていますが、何らかの理由でOnDeserializingがトリガーされません。 OnDeserialingでは、Webサービスが何も返さなかったかどうかを調べ、その場合には独自のデフォルト値を設定する必要があります。 Visual Studio 2010ではすべてが正常に見え、コードエディタでWCFプロキシのプロパティにアクセスできますが、実行時にはOnDeserialingは呼び出されません。私が間違っていることをアドバイスしてもらえますか?部分クラスを使用してWCFプロキシを拡張し、OnDeserializing:OnDeserializingが発生しない
Proxyクラス
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!");
}
}
この問題は、DataContractSerializerを使用していなかったために発生しているようです。 OnDeserializingは、DataContractSerializerでのみサポートされています。 – user405723