我们需要在只能运行.NET 2.0的机器上实现WCF服务。

该机器是Windows XPe POS终端,我们还没有找到安装.NET 3.0的方法。我们无法真正使用新的 XPe 映像对其进行格式化,因为安装了专有的 POS 应用程序和驱动程序。

有没有办法在.NET 2.0上实现WCF服务?我们可以将标准 XmlSerializer 用于消息: .NET CF 可以,但是 .NET CF 不支持作为服务器......

另一种解决方案是以某种方式安装 .NET 3.0。安装程序抱怨未安装 Windows XP SP2,并且 Windows更新 不适用于 XPe。

有任何想法吗?

更新:我们还希望选择使用 肥皂 web服务,但我们的目标平台没有 信息系统 安装。有谁知道在没有 IIS 的情况下托管 .NET 2.0 Web 服务的好(生产质量)方法吗?

解决方案:我们将 Cassini 与 .NET 2.0 Web 服务结合使用,正如标记的答案所建议的那样。到目前为止,这似乎运作良好。谢谢您的帮助。

有帮助吗?

解决方案

这听起来像你已经用尽大部分的可能性。有没有你必须使用WCF取而代之的是.NET 2.0支持开箱即用的平原SOAP Web服务的原因吗?虽然我知道这是令人沮丧的使用旧的技术,我怀疑你必须前往下目前比较主流的路径不是在.NET 2.0莫名其妙地拼凑一个WCF实现更少的问题。

(我会强烈建议的针对的尝试使用.NET 3.0组件在.NET 2.0中,可能违反了许可证 - 你必须检查 - 但它也可能以微妙的突破方式,这将是非常困难的调试。毕竟,谁知道的究竟的要追逐它写入每个注册表项是什么.NET 3.0安装程序在做什么?怎么做?你的可以逃脱它,但我认为这是一个坏主意。)

其他提示

我能想到两种可能性:

  1. 尝试将应用程序使用的许多 dll 链接到单个 exe 中的系统之一。这里描述了其中一种工具: http://www.remotesoft.com/linker/linker_faq.html
  2. .NET 3.0 主要是添加到 .NET 2.0 中的一些新 dll(WPF、WCF 和 WF)。您可能只需将适当的 dll 与您的应用程序一起复制即可。(有些人认为这是一个危险的想法,但在你尝试之前你不会真正知道。)

不能你把一个“代理”之间?因此,使用SOAP / ASMX和代理,然后会谈WCF服务您的POS谈判代理。

我同意,试图“黑客” .NET 3.0的DLL到.NET 2.0系统听起来像痛苦的世界。

答案 没有。您无法在 2.0 系统上安装或以某种方式使用 WCF

您的选择是:

  • WCF 旨在与所有 WS-* 标准配合使用。您可以使用 Web 服务增强 (WSE) 3.0 或使用远程 .net 类手动编写您自己的类。
  • 你可以看看单橄榄。它应该是 WCF 的开源复制。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top