C# 客户端未包含DataContract

C# 客户端未包含DataContract,c#,wcf,C#,Wcf,我有一个非常简单的问题。我定义了两个由DataContract属性标记的类,如下所示: [DataContract] public class Person { [DataMember] public string Name { get; set; } [DataMember] string Surname { get; set; } string ConfidentialName { get; set; } } [DataContract] pub

我有一个非常简单的问题。我定义了两个由DataContract属性标记的类,如下所示:

[DataContract]
public class Person
{
    [DataMember]
    public string Name { get; set; }

    [DataMember]
    string Surname { get; set; }

    string ConfidentialName { get; set; }
}

[DataContract]
public class Employee : Person
{
    [DataMember]
    public int ID { get; set; }
}
      <add type="Person, MyAssemblyName, Version=1.0.0.0,Culture=neutral,PublicKeyToken=null">
        <knownType type="Employee, MyAssemblyName, Version=1.0.0.0,Culture=neutral, PublicKeyToken=null" />
      </add>


  </declaredTypes>
</dataContractSerializer>
而服务合同恰恰揭示了一种方法:

[OperationContract]
void GetEmployee(Person employee);
      <add type="Person, MyAssemblyName, Version=1.0.0.0,Culture=neutral,PublicKeyToken=null">
        <knownType type="Employee, MyAssemblyName, Version=1.0.0.0,Culture=neutral, PublicKeyToken=null" />
      </add>


  </declaredTypes>
</dataContractSerializer>

当客户端使用服务时,并没有定义Employee类。这是因为从未使用过员工吗?如果我想将Employee对象传递给GetEmployee方法,是否应该使用if来包含它?

尝试将其放在服务器端

      <add type="Person, MyAssemblyName, Version=1.0.0.0,Culture=neutral,PublicKeyToken=null">
        <knownType type="Employee, MyAssemblyName, Version=1.0.0.0,Culture=neutral, PublicKeyToken=null" />
      </add>


  </declaredTypes>
</dataContractSerializer>

      <add type="Person, MyAssemblyName, Version=1.0.0.0,Culture=neutral,PublicKeyToken=null">
        <knownType type="Employee, MyAssemblyName, Version=1.0.0.0,Culture=neutral, PublicKeyToken=null" />
      </add>


  </declaredTypes>
</dataContractSerializer>

      <add type="Person, MyAssemblyName, Version=1.0.0.0,Culture=neutral,PublicKeyToken=null">
        <knownType type="Employee, MyAssemblyName, Version=1.0.0.0,Culture=neutral, PublicKeyToken=null" />
      </add>


  </declaredTypes>
</dataContractSerializer>

      <add type="Person, MyAssemblyName, Version=1.0.0.0,Culture=neutral,PublicKeyToken=null">
        <knownType type="Employee, MyAssemblyName, Version=1.0.0.0,Culture=neutral, PublicKeyToken=null" />
      </add>


  </declaredTypes>
</dataContractSerializer>