考虑两个 WCF 客户端连接到一个 WCF 服务(服务器)的场景,该服务将从一个客户端接收一个对象并通过一些操作协定和客户端回调将其发送给另一个客户端,两个客户端都具有该对象的类型,但我们不希望 WCF 服务(服务器)依赖于这种类型。
该项目比这大得多,但我想知道您是否可以将未知类型的对象发送到服务并以某种方式在另一个客户端上接收它。我看到了这一点,但它根本没有帮助我:WCF 服务可以传输类型(客户端不知道这种类型)信息吗?
提前致谢。
考虑两个 WCF 客户端连接到一个 WCF 服务(服务器)的场景,该服务将从一个客户端接收一个对象并通过一些操作协定和客户端回调将其发送给另一个客户端,两个客户端都具有该对象的类型,但我们不希望 WCF 服务(服务器)依赖于这种类型。
该项目比这大得多,但我想知道您是否可以将未知类型的对象发送到服务并以某种方式在另一个客户端上接收它。我看到了这一点,但它根本没有帮助我:WCF 服务可以传输类型(客户端不知道这种类型)信息吗?
提前致谢。
你可以用“原始”Message
数据类型做某些事情——但这真的不是很好的编程......
在这里阅读:
在 WCF 中无法发送具有未知类型的“对象”,因为 WCF 需要与 WSDL 完全兼容,而 WSDL 需要透明的类型定义。
话虽如此,如果您使用一种类型,object
我相信有一种方法可以将其作为字符串加载,并且在 WSDL 中它被定义为xs:anyType
.
我个人更喜欢将类型定义为字符串并传递可以使用普通 XML 序列化进行序列化的 XML。我在我们公司使用过它,它工作得非常好,特别是因为我们将把 XML 作为文档存储在数据库中。