【问题标题】:Is it possible to have duplex communication between a WCF service and a .net 2.0 windows application? If so, how?是否可以在 WCF 服务和 .net 2.0 Windows 应用程序之间进行双工通信?如果是这样,怎么做?
【发布时间】:2011-05-11 23:27:05
【问题描述】:

相当不言自明。如果发生任何事情,我需要一个服务来通知我的客户端应用程序,但该应用程序是在 .net 2.0 中,我不愿意仅仅为了这个功能而升级。

WCF 服务和 .net 2.0 应用程序之间是否可以进行双工通信?

【问题讨论】:

    标签: .net wcf .net-2.0 duplex


    【解决方案1】:

    最终,是的...因为在最坏的情况下,WCF 允许您编写自己的自定义频道,因此您几乎可以做任何事情。但是……

    • 我假设您要问是否有简单/便宜的方法?
    • 这一切都取决于您需要支持的“WCF”的哪些功能,例如SOAP、元数据等
    • 也许您甚至不需要 WCF?

    “最简单”的方法之一可能是使用类似custom duplex channel 的东西,它建立在 HTTP 之上。显然 .NET 2.0 支持 HTTP,所以这是一个通用协议。

    WCF 确实有一个名为 basicHttpBinding 的旧版绑定,它支持来自 .NET 2.0 时代的旧式 (WS 1.1) SOAP Web 服务。这只是一个请求-响应,因此要创建一个双工通道,您需要构建一个自定义绑定,该绑定构建在两个单工端点之上。

    【讨论】:

      【解决方案2】:

      严格来说不可以,因为 WCF 不会与 .NET 2.0 框架一起运行,但这似乎不是什么大问题。 WCF 是随 .NET 3.0 框架引入的。它带有wsDualHttpBinding duplex functionality,它将提供客户端通知。

      您的 ASP.NET 2.0 应用程序与 .NET 3.0 框架完全兼容,因为 ASP.NET 命名空间在 .NET 3.0 中没有太大变化,因此您不必担心升级应用程序以利用 WCF 双工捆绑。此ASP.NET forum post 提供了对各种 .NET 框架版本和 ASP.NET 的更详细说明。升级将比滚动您自己的双工客户端痛苦得多。

      【讨论】:

        猜你喜欢
        • 2011-02-16
        • 1970-01-01
        • 1970-01-01
        • 2012-06-19
        • 2010-11-16
        • 2013-04-02
        • 2015-11-02
        • 1970-01-01
        • 2023-04-07
        相关资源
        最近更新 更多