C# 客户端未包含DataContract
我有一个非常简单的问题。我定义了两个由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]
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>