WCF序列化

WCF序列化,wcf,serialization,Wcf,Serialization,我有一节这样的课 [DataContract] public MyClass { private string _Name; private bool _NameIsModified = false; public string Name; { get { return _Name; } set { _Name = value; _NameIsModified = true; } } } 当客户端通过WCF服务请求

我有一节这样的课

[DataContract]
public MyClass
{
  private string _Name;
  private bool _NameIsModified = false;

  public string Name;
  {
    get { return _Name; }
    set 
    {
      _Name = value;
      _NameIsModified = true;
    }
  }
}
当客户端通过WCF服务请求此类时,会修改对象并将其发送回服务器,但不会设置_NameIsModified。(我完全明白这是怎么回事)


在服务器和客户端上,我都可以访问MyClass。是否可以检索代理MyClass并将其强制转换为MyClass的新实例,或者让WCF服务直接将其加载到MyClass实例中。

否,您不能通过强制转换直接执行此操作。您必须在客户端编写一些代码,以便将对象的代理版本克隆到服务器正在使用的同一类型。(代理类被创建为分部类,因此您可以仅扩展它们)

另一种方法是确保客户端实际引用与服务器相同的程序集,完成此操作后,可能需要手动编辑代理生成的类以删除重复的类声明

如何在服务器和客户机之间共享类已经在这里的堆中讨论过了,所以,我将看看是否能在稍后挖掘出一些有用的帖子