【发布时间】:2011-05-11 23:27:05
【问题描述】:
相当不言自明。如果发生任何事情,我需要一个服务来通知我的客户端应用程序,但该应用程序是在 .net 2.0 中,我不愿意仅仅为了这个功能而升级。
WCF 服务和 .net 2.0 应用程序之间是否可以进行双工通信?
【问题讨论】:
相当不言自明。如果发生任何事情,我需要一个服务来通知我的客户端应用程序,但该应用程序是在 .net 2.0 中,我不愿意仅仅为了这个功能而升级。
WCF 服务和 .net 2.0 应用程序之间是否可以进行双工通信?
【问题讨论】:
最终,是的...因为在最坏的情况下,WCF 允许您编写自己的自定义频道,因此您几乎可以做任何事情。但是……
“最简单”的方法之一可能是使用类似custom duplex channel 的东西,它建立在 HTTP 之上。显然 .NET 2.0 支持 HTTP,所以这是一个通用协议。
WCF 确实有一个名为 basicHttpBinding 的旧版绑定,它支持来自 .NET 2.0 时代的旧式 (WS 1.1) SOAP Web 服务。这只是一个请求-响应,因此要创建一个双工通道,您需要构建一个自定义绑定,该绑定构建在两个单工端点之上。
【讨论】:
严格来说不可以,因为 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 的更详细说明。升级将比滚动您自己的双工客户端痛苦得多。
【讨论】: