我有一个.NET服务。
我有一个.NET控制台应用程序。
我想沿着服务的调用东西线Process.Start("consoleapp.exe")
并得到了一些信息,返回从应用程序回来,最好只返回一个数字。
我该怎么做呢?
编辑:
我想,这一定是: Process.Start("myapp.exe").ExitCode
-但我如何设置在控制台应用程序退出代码?
我有一个.NET服务。
我有一个.NET控制台应用程序。
我想沿着服务的调用东西线Process.Start("consoleapp.exe")
并得到了一些信息,返回从应用程序回来,最好只返回一个数字。
我该怎么做呢?
编辑:
我想,这一定是: Process.Start("myapp.exe").ExitCode
-但我如何设置在控制台应用程序退出代码?
Process p = Process.Start("app.exe");
p.WaitForExit();
int number = p.ExitCode;
而在APP.EXE设置Enviroment.ExitCode ...
您可以通过它来改变你的主要方法使用一个退出代码
public void Main(string[] args){return;}
至
public int Main(string[] args){return 0;}
不是一个完美的解决方案,但它的工作原理。
任意数量可以通过标准被退回的ExitCode机制。 你只需要Start()
的过程,然后WaitForExit()
然后得到的值ExitCode
。
您可以使用退出代码,它可以从主函数返回或通过Environment.ExitCode设置。
另一种选择是让你的ConsoleApp写入到标准输出流,输出重定向到主应用程序。
第二个选项的好处是,你可以比一个整数返回更多的数据,如果以后你会发现这个必要。 其缺点是,它更多的工作来设置。
这CodeProject上的文章遍历重定向衍生进程的标准输出流。
控制台应用程序可以设置其退出代码。
控制台应用程序可以通过设置其退出代码:
System.Environment.Exit(exitcode)
,或 main
函数返回一个int。 该ExitCode
(财产System.Diagnostics.Process
类),让服务过程检查控制台应用程序的退出代码。