场景是这样的:
我有一个工作正常的.NET 4.0客户端 - 服务器应用程序
我需要创建一个可以访问服务器的UserControl,但它需要在.NET 2.0中创建(因为客户应用程序是.NET 2.0)
是否存在从2.0客户端访问.NET 4.0 WCF服务的方法?
注意:
它不是Web服务,而是独立的.exe服务器
没有使用身份验证
传输的数据几乎是基本的(具有数组和基本类型的类)
它使用客户端回调,因此协议il net.tcp
如果我仍然能够使用回调,我可以选择更改协议
答案 0 :(得分:2)
您需要将WCF公开为Web服务:
你的工作好像是一个很好的旧.asmx服务(添加引用等)。
如果您的WCF服务托管在.exe,Web应用程序,Windows服务中,这无关紧要......
在带有.asmx服务的.NET 2.0中无法支持回调,因此您必须使用TcpListener和TcpClient等模拟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,它可以工作。