代理类没有等于方法WCF

时间:2011-02-16 12:02:26

标签: c# wcf-client datacontract

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

1 个答案:

答案 0 :(得分:5)

WCF从数据合同序列化仅数据 - 没有方法或行为。

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

WCF是 NOT “远程过程调用”或“对象远程处理”系统,因此,在创建代理时,它将确保线路上的数据签名相同(通过方式) XML序列化) - 而且全部它。

实现您正在寻找的目标的唯一选择是:

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