我已经使用城堡动态代理实现了一个通用的 IPropertyChangedNotifier。在这里,我拦截了 Proxy 对象中的 setter 调用,这样我就不必在我的域对象的 setter 中引发 PropertyChanged 事件。
目的是使用这些代理对象将其 UI 绑定到 silevrlight 应用程序中。
问题是代理对象的序列化在 WCF 服务调用中失败,这是由于代理对象上没有 [DataContract]。为了解决这个问题,我必须在我的拦截器中保留一个实例的副本并将这个对象发送给序列化。IPropertyChangedNotifier
这导致了难以调试或理解的复杂代码。有没有一种简单的方法来解决 WCF 中的序列化问题,告诉序列化程序在服务调用中发送代理时使用基类(实例)的 [DataContract] 属性。