【问题标题】:Multiple Data Contracts under one Service reference一个服务参考下的多个数据合同
【发布时间】:2014-02-25 09:37:38
【问题描述】:

我是 WCF 新手,我可以在一个服务合同下添加多个 <OperationContract()>,但是,我无法提供有关如何在单个合同下添加多个 DataContract 的任何信息。

问题是:使用合同上的一项服务(WPF 中的单个服务引用)可以访问许多过程,但是,现在我需要在 WPF 中创建许多服务引用(每个数据合同一个),这很糟糕我相信的选项。

我的类不是继承的,它们是独立的。

请告知是否可以选择在一个服务参考下获取所有类(数据合同)或替代程序(如果有的话)。

谢谢。

【问题讨论】:

  • 你可以定义多个数据合约,为什么你认为不能?
  • 是的,我可以定义多个数据协定,但是,当我在 WPF 中添加服务引用时,我需要添加那么多服务并更新每个引用,而不会忘记更新类时。

标签: vb.net wcf datacontract


【解决方案1】:

一个常见的事情是在客户端上创建自己的代理、服务和数据合约,而不使用服务引用选项。当服务更改时,您仍然需要手动更新内容,但让您能够控制为数据和服务合同创建的类和接口。

如果您同时拥有服务端和客户端,那么您还可以共享类型(通过引用包含数据和服务合同的 dll)。如果您没有自己的服务端,您可以在客户端中定义自己的接口和数据契约。只要它们与服务合同相匹配,一切都会奏效。您可以使用添加引用或 wsdl.exe 实用程序来生成服务和数据合同。

如果您使用添加服务引用,您可以选中一个选项以使用来自引用程序集的类型。只要您有对服务和数据协定程序集的引用,添加服务引用就会重用这些类型。

【讨论】:

  • 我是新手,但是,从上面我的理解是,制作一个只有数据类型的项目,并将其用作客户端和 WCF 项目的参考。请纠正我。谢谢你的时间。
  • 感谢您分享知识和时间。
猜你喜欢
  • 2010-12-12
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-20
  • 1970-01-01
  • 2021-07-18
相关资源
最近更新 更多