代理类没有 equals 方法 WCF

发布于 2024-10-17 13:27:45 字数 122 浏览 3 评论 0原文

我的 web 服务中有一个 DataContract 类,它继承自 IEquatable。 但我的 siverlight webservice 生成的代理类没有 equals。谁能告诉我为什么会发生这种情况,有没有办法实现这一点?

I have a class as DataContract in my webservice and it inherit from IEquatable.
But my siverlight webservice generated proxy class does not have equals. Can any one tell me why this is happening and is there a way achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一页 2024-10-24 13:27:45

WCF 仅序列化数据协定中的数据 - 无方法或行为。

这是默认情况下的设计 - 毕竟,WCF 是一个消息传递系统 - 您仅传递序列化消息。

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

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

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

WCF serializes only data from data contracts - no methods or behavior.

That's by default and by design - after all, WCF is a message passing system - you pass around serialized messages only.

WCF is NOT a "remote-procedure call" or "object remoting" system and thus, when creating a proxy, it will make sure the data signature on the wire will be identical (by means of XML serialization) - and that's all it does.

The only option to achieve what you're looking for would be to:

  • create a separate class library assembly that contains the service and data contract classes
  • reference that common contract assembly from both your server-side service code, as well as your client-side Silverlight app
  • when creating a service reference now, Visual Studio will reuse the common, shared classes in the assembly, and not re-create proxy data classes (and loosing the methods in the process)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文