代码之家  ›  专栏  ›  技术社区  ›  Deepak N

使用动态代理和WCF序列化问题的通用IPropertyChangedNotifier

  •  0
  • Deepak N  · 技术社区  · 17 年前

    我已经使用Castle动态代理实现了一个通用的IPropertyChangedNotifier。这里我截取代理对象中的setter调用,这样就不必在域对象的setter中引发propertychanged事件。

    目的是使用这些代理对象在Silevrlight应用程序中绑定它的UI。

    问题是WCF服务调用中代理对象的序列化失败,这是由于代理对象上缺少[DataContract]。为了解决这个问题,我必须在拦截器中保留实例的副本,并将此对象发送给serialization.ipropertyChangedNotifier。

    这导致了很难调试或理解的复杂代码。有没有一种简单的方法可以解决WCF中的序列化问题,告诉序列化程序在服务调用中发送代理时使用基类(实例)的[datacontract]属性。

    2 回复  |  直到 16 年前
        1
  •  0
  •   John Saunders    17 年前

    如果您强制转换为基类类型呢?

        2
  •  0
  •   Deepak N    17 年前

    我们删除了dynamicProxies,现在使用Postharp来处理通用的IPropertyChangedNotifier。没有序列化的问题…

    推荐文章