WCF服务(.NET 4.0)可以有.NET 2.0客户端吗?

场景是这样的:
我有一个工作正常的.NET 4.0客户端 – 服务器应用程序。
我需要创建一个可以访问服务器的UserControl,但它需要在.NET 2.0中创建(因为客户应用程序是.NET 2.0)

它是否存在从2.0客户端访问.NET 4.0 WCF服务的方法?

注意:
它不是Web服务,而是独立的.exe服务器
没有使用身份validation
传输的数据几乎是基本的(带有数组和基本类型的类)
它使用客户端回调,因此协议il net.tcp
如果我仍然可以使用回调,我可以选择更改协议

您需要将WCF公开为Web服务:

  • 如何:将WCF服务也作为ASMX Web服务公开
  • 将WCF服务公开为传统样式Web服务.asmx

你的工作好像是一个很好的旧.asmx服务(添加引用等)。

如果您的WCF服务托管在.exe,Web应用程序,Windows服务中,则无关紧要……

在带有.asmx服务的.NET 2.0中,不支持回调,因此必须使用TcpListener和TcpClient等模拟callbak。

不幸的是,这必须从头开始,但您可以在WCF实现中使用逻辑。

如果您的WCF 4.0服务使用基本的http绑定,则可以在.NET 2.0或任何其他语言中使用它。

只需使用WSDL.exe生成代理并在.NET或任何其他语言中使用它。

是的,您可以在.net 2.0客户端中使用WCF服务,方法是在客户端项目中添加.cs文件(代理类)的引用。

问题刚才解决了。 好吧,没有真正解决……

在查看有关.NET WCF性能的文章后,我决定使用.NET远程处理。 它是更快,兼容的原生.NET 2.0,它的工作原理。