首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用.Net NamedPipes在VB6中与C#应用程序通信

使用.Net NamedPipes在VB6中与C#应用程序通信
EN

Stack Overflow用户
提问于 2016-01-21 05:45:49
回答 2查看 672关注 0票数 0

更新:

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#应用程序通信?

请让我知道。提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2016-01-21 05:55:27

我曾经使用过一个VB6应用程序,它需要来自一组WCF服务的数据。

实现这一目标的最简单方法是将与远程系统通信的逻辑放在.Net程序集中,该程序集通过COM公开操作并从VB6代码中调用该程序集。

https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.comvisibleattribute(v=vs.100).aspx为起点。

票数 1
EN

Stack Overflow用户

发布于 2016-01-21 06:12:00

如果您正在为此使用System.IO.Pipes,那么幸运的是,您不必处理称为WCF的cruft和互操作噩梦。

要在VB6中编写一个好的管道客户机,需要一个用C++编写的控件或类,以便管理异步I/O并引发事件。否则,您可能需要使用计时器来轮询输入,但这都是相当简单的API I/O。

我不知道有任何便宜或免费的ActiveX DLL或OCX现在普遍可用,我怀疑微软曾经生产过一个。但是计时器驱动的轮询方法应该有足够的例子让你开始。它还避免了VB6程序使用.Net Interop的所有开销所带来的可怕的低效、停止和溅射,以及巨大的内存占用。

但这始终是一种选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34916226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档