如果我使用DataContractResolver,这会限制我只能使用.net客户端吗?

本文关键字:net 客户端 DataContractResolver 如果 | 更新日期: 2023-09-27 18:12:23

我尝试使用sharedtyperresolver,也不太通用的DataContractResolver的这篇博客文章。

文章提到了SharedTypeResolver如何需要。net,以及对于紧密耦合的场景,例如服务和客户端共享程序集。

然而,我的问题是:使用DataContractResolver根本不需要。net和共享程序集吗?如果客户端不能访问相同的程序集,它将如何使用解析器?

目前我只有。net客户端,但我不想疏远任何可能用Java编写客户端的潜在客户。

如果我使用DataContractResolver,这会限制我只能使用.net客户端吗?

这会使您的java客户机生成代理变得更加困难,但并非不可能,因为您的wsdl将不包含您将通过网络发送的类型。有一些工具可用于自动生成代理。显然,它们不足以生成wsdl中没有描述的数据模型。这些数据模型必须手工创建。因此,这是可能的,但这可能是太多的努力,它永远不会完成。基于这些原因,我建议你避免使用它。

除了命名管道之外,任何运行在任何平台上的客户端都可以与WCF通信。这是否会是一次愉快的经历是一个问题。

对于跨平台通信,我已经成功地使用了WCF绑定WebHttpBinding (REST):http://msdn.microsoft.com/en-us/magazine/dd315413.aspx

但是如果你要走这条路,那么你就错过了WCF所提供的很多东西,事务,安全性等等,最好还是使用ASP。. Net Web API