Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从其他进程向WPF单例应用程序发送数据_C#_Wpf_Singleton_Inter Process Communicat - Fatal编程技术网

C# 从其他进程向WPF单例应用程序发送数据

C# 从其他进程向WPF单例应用程序发送数据,c#,wpf,singleton,inter-process-communicat,C#,Wpf,Singleton,Inter Process Communicat,我有一个WPF单例应用程序,其中任何时候都只有一个实例在运行,如果用户试图启动另一个实例,我们会检查它是否已经在运行,然后我们会终止这个新进程,并将现有的进程放在前面 现在,我们需要从另一个进程(可以是xls、word或另一个独立的应用程序)打开/访问并向这个WPF应用程序发送消息(参数集)。 我们还希望确保,如果进程已经在运行,那么该进程应该听到消息并做出响应 知道我们如何在WPF应用程序中实现它吗 感谢在Windows上最具互操作性的方式可能是使用Windows消息在应用程序之间传输数据 您

我有一个WPF单例应用程序,其中任何时候都只有一个实例在运行,如果用户试图启动另一个实例,我们会检查它是否已经在运行,然后我们会终止这个新进程,并将现有的进程放在前面

现在,我们需要从另一个进程(可以是xls、word或另一个独立的应用程序)打开/访问并向这个WPF应用程序发送消息(参数集)。 我们还希望确保,如果进程已经在运行,那么该进程应该听到消息并做出响应

知道我们如何在WPF应用程序中实现它吗


感谢

在Windows上最具互操作性的方式可能是使用Windows消息在应用程序之间传输数据


您可以找到WPF的一个示例和另一个示例。MSDN提供了一篇关于WPF的非常好的文章

我个人在两个不同的应用程序中遇到过两次这个问题

我们第一次使用基于TCP的连接。这是非常有效的,但您需要编写大量代码才能使其正常工作。我们观察到,很难定义通信标准,因为开发人员不习惯使用TCP连接(至少在我的上下文中是这样)

因此,我们第二次使用基于WCF的连接。我们的单例WPF应用程序承载连接,另一个应用程序在可用时连接到它。这是一个更好的体验,因为管理主机服务对于大多数开发人员来说是非常自然的(用于处理web服务)。另一个优点是,如果需要,最终可以通过web连接访问WPF singleton


希望有帮助。

@NahumLitvin提供的链接讨论如何创建单例应用程序。我的问题是如何从另一个应用程序向这个单例应用程序传递消息(数据)。