代理类没有等于方法WCF

Mad*_*han 4 c# datacontract wcf-client

我的webservice中有一个类作为DataContract,它继承自IEquatable.但我的siverlight webservice生成的代理类没有equals.任何人都可以告诉我为什么会这样,有没有办法实现这一目标?

mar*_*c_s 5

WCF 序列化数据合同中的数据 - 没有方法或行为.

这是默认设计 - 毕竟,WCF是一个消息传递系统 - 你只传递序列化的消息.

WCF 不是 "远程过程调用"或"对象远程处理"系统,因此,在创建代理时,它将确保线上的数据签名是相同的(通过XML序列化) - 这就是它的全部功能.

实现您正在寻找的东西的唯一选择是:

  • 创建一个包含服务和数据协定类的单独的类库程序集
  • 从服务器端服务代码以及客户端Silverlight应用程序引用常见的合同程序集
  • 现在,在创建服务引用时,Visual Studio将重用程序集中的公共共享类,而不是重新创建代理数据类(并且在此过程中丢失方法)