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

时间:2012-05-07 09:19:58

标签: c# 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服务器
没有使用身份验证 传输的数据几乎是基本的(具有数组和基本类型的类) 它使用客户端回调,因此协议il net.tcp
如果我仍然能够使用回调,我可以选择更改协议

4 个答案:

答案 0 :(得分:2)

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

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

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

在带有.asmx服务的.NET 2.0中无法支持回调,因此您必须使用TcpListenerTcpClient等模拟callbak。

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

前一段时间问题已经解决了。 好吧,还没有真正解决......

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