从不同的进程C#调用方法[关闭]

Posted

技术标签:

【中文标题】从不同的进程C#调用方法[关闭]【英文标题】:Calling a method from a different process C# [closed] 【发布时间】:2014-11-15 12:18:14 【问题描述】:

我想在一个完全不同的应用程序的控制台应用程序上调用一个接受字符串作为参数的方法。调用的目的只是从不同的应用程序向控制台窗口写入一行,以发布一些调试行。实现这一目标的最佳方法是什么? (我可以控制两个应用程序源)

【问题讨论】:

如果是这样,你为什么不实现呢? msdn.microsoft.com/en-us/library/windows/desktop/… Remoting 通过 microsoft mq 发布消息? 【参考方案1】:

您可以使用匿名管道(在本地机器上)或命名管道(如果您还需要进程通过网络进行通信)。管道是进程进行通信的非常常见的方式,其他解决方案包括进程交换消息的内存映射文件,或者,我非常不鼓励你这样做,一个目录,其中以正在创建的文件的形式交换消息并使用观察它们的创建FileSystemWatcher.

您可以在 MSDN 上的 How to: Use Named Pipes for Network Interprocess Communication 上查看名称管道的示例。该示例演示了两个进程,其中一个使用NamedPipeServerStream,而消费进程使用NamedPipeClientStreams 来拦截来自服务器应用程序的传入消息。

Here 是使用匿名管道的相同示例,如果您不要求进程通过网络工作。

【讨论】:

似乎匿名管道会按照我想要的方式来解决问题。感谢您的快速回复。

以上是关于从不同的进程C#调用方法[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何从 C# 应用程序远程调用另一个进程方法

无法使用 WMI 和 C# 远程终止进程

C# - 向子进程发送输入 - 控制台应用程序

你如何从不同的包中调用方法?

C#:让我的程序在同一台机器上的正在运行的进程上调用方法

如何在C#中连续调用方法? [关闭]