【发布时间】:2018-08-17 21:42:58
【问题描述】:
我有一个 C# 控制台应用程序。只要我的计算机正在运行,此控制台应用程序就会在后台运行。此时,该控制台应用程序如下所示:
static void Main(string[] args)
{
while (true)
{
if (args.Length > 0)
{
Console.WriteLine("Args received!");
foreach(var arg in args)
{
Console.WriteLine("Arg: " + arg);
}
}
}
}
控制台最初会加载大量数据。这就是为什么我想让它保持运行而不是总是启动它。不过,一旦它运行起来,我需要一种从另一个控制台窗口再次“调用”它的方法。
此时,我正在考虑使用
启动上面显示的控制台应用程序START /B MyConsole.exe
从命令行。然后,我想在另一个控制台窗口中传递数据,如下所示:
MyConsole.exe --data [some info here]
这感觉完全不对。事实上,我相当有信心这不会奏效。尽管如此,我仍然需要一些方法来运行控制台应用程序,并通过如上所示的命令从另一个控制台窗口将数据传递给该应用程序。我之所以采用上面显示的方法,最终是因为我要与第三方应用程序集成,让我执行命令行命令。但是,由于我的数据量很大,我需要先运行该应用程序。
如何在 C# 中做到这一点?
谢谢!
【问题讨论】:
-
“控制台最初会加载大量数据”——这听起来像是在启动时将数据从文件加载到内存中。你能提供一些关于那部分的细节吗?有了这些信息,答案可能会更有用。
-
再次阅读问题,我认为这是“X-Y-Problem”的一个实例。您的question 的答案实际上并没有(真正)解决您的problem。
-
最简单的方法来做你想做的事,让一个程序持续运行,但在某些时候向程序发送新数据,是使用套接字。查看stackoverflow.com/questions/20790455/…(以及此人问题的答案)。
标签: c#