更新:
1-新C#应用程序在.Net框架上公开NamedPipeServerStream(System.IO.Pipes)。
2-传统VB6需要与C# NamedPipeServerStream通信。
3-到目前为止,VB6驻留在一个没有.Net框架的系统中。但是,C#和遗留应用程序都将放在安装了.Net的计算机上。
3- VB6可以使用VB6与C#管道服务器对话吗?在应用程序之间的通信维护中,这种方法是免费的吗?
有什么我能查到的资源或其他方法吗?
老问题:我有一个遗留的VB6.0应用程序,它需要使用.Net NamedPipes与更新的C#应用程序通信。
当前,遗留的VB6应用程序位于没有.Net的系统上。当我在该系统上安装.Net框架和C# NamedPipeServer应用程序时,遗留VB6程序如何通过NamedPipes与C#应用程序通信?
请让我知道。提前谢谢。
发布于 2016-01-21 05:55:27
我曾经使用过一个VB6应用程序,它需要来自一组WCF服务的数据。
实现这一目标的最简单方法是将与远程系统通信的逻辑放在.Net程序集中,该程序集通过COM公开操作并从VB6代码中调用该程序集。
发布于 2016-01-21 06:12:00
如果您正在为此使用System.IO.Pipes,那么幸运的是,您不必处理称为WCF的cruft和互操作噩梦。
要在VB6中编写一个好的管道客户机,需要一个用C++编写的控件或类,以便管理异步I/O并引发事件。否则,您可能需要使用计时器来轮询输入,但这都是相当简单的API I/O。
我不知道有任何便宜或免费的ActiveX DLL或OCX现在普遍可用,我怀疑微软曾经生产过一个。但是计时器驱动的轮询方法应该有足够的例子让你开始。它还避免了VB6程序使用.Net Interop的所有开销所带来的可怕的低效、停止和溅射,以及巨大的内存占用。
但这始终是一种选择。
https://stackoverflow.com/questions/34916226
复制相似问题