4

需要什么来支持 Win2k 上的 WCF,或者至少尽量减少支持通过 .Net 与 Win2k 服务器进行远程通信的工作?

背景:

我正在开发的一个产品有一个旧的 .NET 远程处理实现,它已在很大程度上被 WCF 取代,以进行新的开发。在我们的 WCF 实现之前,旧实现用作与运行旧版本的服务器进行通信的后备。

销售人员要求提供 Win2k 支持,这让开发人员陷入了困境,因为 Win2k 不支持 .NET 3.0(因此可能是 WCF)。我们希望以最少的额外开发工作来支持 Win2k,但似乎要支持 Win2k,我们必须实现两次接口;一次用于与旧服务器进行远程处理,一次用于 WCF。

4

3 回答 3

7

Windows 2000 只能运行 .Net 2.0 和更早版本。WCF 需要 3.0 或更高版本。许多 3.x 应用程序可以重新编译以面向 2.0 运行时,但如果您使用任何扩展(WCF、WF、WPF),则始终需要安装完整的 3.x 框架。

所以不行。

此外,对 Windows 2000 的扩展支持(包括安全更新)将在 13 个月多一点后结束。 如果有人想在那个日期之后继续使用 Windows 2000,那是他们自己的事。但是对您的影响是从那天起,您永远无法确定是否真的存在您可以实际解决的问题,或者您的客户的服务器是否刚刚感染了恶意软件。在这种情况下提供支持充其量是困难的。

于 2009-06-08T14:31:44.217 回答
6

您在 W2K 上最接近的是WSE3 - 它通过 SOAP 为您提供 MTOM(等) - 但不是完整的 WCF 优点。

您可以将服务设计为服务器上的 WCF,而客户端上的 WSEx?不是“免费的”,但几位 WCF 专家向我保证它是非常“可行的”——毕竟,WCF 旨在支持标准。您必须将自己限制为 http-basic,但无论如何,IMO 都应该是默认设置。

Jimmy 在这里有一篇关于此的文章:WCF 和 WSE 3.0 之间的互操作性(向下滚动到“WSE 3.0 到 WCF”)。

于 2009-06-08T14:45:43.720 回答
0

正如其他人所说,您将无法在 Windows 2000 上运行 WCF。但是,您不一定必须这样做。

坦率地说,要求您的最终用户安装 Win2003 服务器来仅处理您的 WCF 服务并不是不合理的。您的客户可以保留他们的 Windows 2000 基础架构,而只需运行一个 Win2K3 服务器(甚至是虚拟机)来运行该服务。一个 Windows 2003 Web 许可证大约需要 300 美元,而且它不需要大型机器来运行,因此它相对具有成本效益。

于 2009-06-08T17:48:13.893 回答