我正在使用带有代码的WCF服务,该代码是从mex端点生成的。
我希望能够序列化自动生成的类。
我的问题是,那些自动生成的类实现了System.ComponentModel.INotifyPropertyChanged接口,偶尔在序列化它们时,我会遇到以下异常:
Type 'System.ComponentModel.PropertyChangedEventManager' in
Assembly 'WindowsBase, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35' is not marked as serializable.
通常我会通过向[NonSerializable]
事件添加PropertyChanged
来处理此异常,但此处代码是自动生成的,我不想更改它。
解决这个问题的最佳方法是什么?
答案 0 :(得分:3)
听起来您正在使用BinaryFormatter
- 但是,WCF类型用于与DataContractSerializer
或相关序列化程序(NetDataContractSerializer
,protobuf-net等)进行序列化。请尝试使用DataContractSerializer
- 您的问题应该消失。