我有一个WPF应用程序,我需要从另一个控制台应用程序启动一些操作(并接收返回值)。
我遇到了很多问题所以我不确切知道如何继续:
1-我尝试使用带参数的命令行(它可以启动wpf应用程序),但我无法接收返回值,因为它们仅在应用程序关闭时返回。此外,它不符合我的需要,因为在wpf应用程序仍在运行时必须调用某些操作。
2-我认为开发一个小的dll来在Console和WPF应用程序之间进行通信,但我不知道哪种技术轻巧,高效并且符合我的需求。
过去有没有人完成类似的任务?如果是这样,你是怎么做到的?
谢谢,
答案 0 :(得分:0)
您可以使用WCF技术来实现这一目标。在wpf应用程序中定义合同,在那里你应该设置你想要管理你的应用程序的动作逻辑 - 方法。如果是单面的,请在WPF应用程序中使用netTcpBinding并创建端点 - 它是来自outeside的命令的监听器。然后在您的控制台应用程序中使用svcutil添加wpf应用程序的代理类。这将允许您发送命令。如果你做的一切都正确 - 这应该工作。我想你有1个wpf应用程序和1个控制台应用程序。
答案 1 :(得分:0)
您可以启动您的wpf应用,然后使用:
答案 2 :(得分:0)
您正在寻找的通常被称为“进程间通信”。命名管道是一种IPC,可以在.net中使用。这个guide应该可以帮到你。