将字符串从一个控制台应用程序发送到另一个
Posted
技术标签:
【中文标题】将字符串从一个控制台应用程序发送到另一个【英文标题】:Send strings from one console application to another 【发布时间】:2012-10-11 15:51:44 【问题描述】:我有什么:
两个控制台应用程序(目标框架 4)。应用程序 A 完成所有工作,B 每 10 秒显示一次状态。 A 运行近 300,000 个 sql 条目并执行杂项工作 - 输出是最冗长的,并且很难压缩有关进度的一般概述信息。
我需要什么:
我的目标是让 A 首先执行 B 然后“发送”或将字符串传递给 B 以便它可以刷新本身带有这些字符串的新值。它将为正在观察整个操作的用户提供一个很好的指示。
您有什么建议来完成这项工作。 WCF,命名管道?我想我可以让应用 A 成为服务器,应用 B 成为某种客户端。
视觉示例:请注意,应用程序 A 的文本大约多出 10 倍(图片只是示例)
【问题讨论】:
为什么有 2 个应用程序?为什么不多线程它并更新A
?
您打算将多个 B 附加到单个 A 吗?还是 B 在另一台机器上?
只有一个 A 和一个 B - 它们都存在于同一个目录中(仅限本地通信)。不会启动多个实例。我将用更好的解释更新原始问题。
A 或 B 的多个实例?
【参考方案1】:
让 B 先执行 A。
将其详细日志记录写入标准输出。
B 读取 A 的标准输出(谷歌如何重定向进程的输入/输出/错误)
B 汇总信息并在其标准输出中写入干净的日志。
A 退出时,B 也退出。
简单!
【讨论】:
【参考方案2】:当一个进程生成另一个进程时,它可以获得其标准输入/输出流,以便您可以读取、写入:
http://www.dotnetperls.com/redirectstandardoutput
【讨论】:
以上是关于将字符串从一个控制台应用程序发送到另一个的主要内容,如果未能解决你的问题,请参考以下文章