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

本文关键字:NET 客户端 服务 WCF | 更新日期: 2023-09-27 18:33:20

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

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

注意:
它不是一个 Web 服务,而是一个独立的.exe服务器
不使用自发
传输的数据几乎是基本的(包含数组和基本类型的类)
它使用客户端回调,所以协议 il net.tcp
如果我仍然可以使用回
调,我可以选择更改协议

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

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

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

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

无论您的 WCF 服务是否托管在.exe、Web 应用、Windows 服务中,这都无关

紧要...

在具有 .asmx 服务的 .NET 2.0 中无法支持回调,因此您必须使用 TcpListener 和 TcpClient 之类的东西来模拟调用。

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

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

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

是的,

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

问题已经解决了。好吧,没有真正解决...

在看了一篇关于 .NET WCF 性能的文章后,我决定使用 .NET 远程处理。它是更快,兼容本机.NET 2.0并且可以工作。