我的VB.NET WinForms程序(父)使用Process.Start()
调用另一个VB.NET控制台程序(子)。子应用程序运行得很快,我希望将状态消息返回给父代。如何将孩子的字符串发送给父母?
是否有一些内置方式,因为父子关系或者我是否必须使用其他接口,如套接字?
答案 0 :(得分:1)
您可以让您的调用应用程序通过Proccess.Start()发送命令行参数,然后您的被叫应用程序将使用该参数。
根据您的要求/建筑设计,这是一个好的,简单的设计;或者是一个可怕的想法。
我会假设前者;但如果是后者,我强烈建议使用WCF。直接套接字呼叫一直是渡渡鸟的方式,除了视频游戏等高容量/性能应用。使用WCF,您可以让客户端以极少的代码行发送服务器应用程序数据。
这里有什么要求?消息是经常发送还是仅在开始时发送? 发生的频率是多少次?
答案 1 :(得分:1)
只是为我的其他评论添加一些代码,想象一下以下简单的子程序:
Module Module1
Sub Main()
Console.WriteLine("This is a test")
End Sub
End Module
这是父母:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim P As New Process()
P.StartInfo.FileName = "Child.exe"
P.StartInfo.RedirectStandardOutput = True
P.StartInfo.UseShellExecute = False
P.Start()
Dim T = P.StandardOutput.ReadToEnd()
'Do something with T
End Sub
End Class