更新
1 - 新的C#应用程序在.Net框架上公开NamedPipeServerStream(System.IO.Pipes)
2 - Legacy VB6需要与C#NamedPipeServerStream通信
3 - 到目前为止VB6驻留在没有.Net框架的系统中。但是,未来C#和遗留应用程序都将安装在安装了.Net的计算机上
3 - VB6可以使用 CallNamedPipe()与C#管道服务器通信吗?这种方法在维护应用程序之间的通信方面是否无忧无虑?
我可以查看的任何资源或其他方法?
旧问题: 我有一个遗留的VB 6.0应用程序,需要使用.Net NamedPipes与较新的C#应用程序进行通信。
目前,传统的VB6应用程序位于没有.Net的系统上。 当我在该系统上安装.Net框架和C#NamedPipeServer应用程序时,旧版VB6程序如何通过NamedPipes与C#应用程序通信?
请告诉我。 提前谢谢。
答案 0 :(得分:1)
我使用的VB6应用程序需要来自一组WCF服务的数据。
实现这一目标的最简单方法是将逻辑与.Net程序集中的远程系统进行通信,该程序集通过COM公开操作并从VB6代码调用该程序集。
答案 1 :(得分:0)
如果您正在使用System.IO.Pipes,那么幸运的是,您不必处理被称为WCF的愚蠢和互操作性噩梦。
要在VB6中编写一个漂亮的管道客户端,需要使用C ++编写的控件或类来管理异步I / O并引发事件。否则你可能不得不使用Timer来轮询输入,但它是相当简单的API I / O.
我不知道今天通常可用的任何便宜或免费的ActiveX DLL或OCX,我怀疑微软曾经生产过。但是定时器驱动的轮询方法应该有很多例子可以让你入门。它可以让您免受可怕的低效率,停止和溅射,以及使用.Net Interop的所有开销使您的VB6程序陷入困境的巨大内存。
但这总是一种选择。