我想调用一个方法,从一个完全不同的应用程序接受一个字符串作为控制台应用程序的参数。调用的目的只是从不同的应用程序向控制台窗口写一行以发布一些调试行。有什么可能是实现这一目标的最佳方式? (我控制了两个应用程序源)
答案 0 :(得分:3)
您可以使用匿名管道(在本地计算机上)或命名管道(如果您需要进程通过网络进行通信)。管道是进程通信的常用方式,其他解决方案包括进程交换消息的内存映射文件,或者我非常不鼓励你这样做,这是一个以正在创建的文件形式交换消息并使用它们创建的创建目录的目录FileSystemWatcher
您可以在MSDN上的How to: Use Named Pipes for Network Interprocess Communication上看到名称管道的示例。该示例演示了两个进程,其中一个使用NamedPipeServerStream
,并且使用进程使用NamedPipeClientStreams
来拦截来自服务器应用程序的传入消息。
Here是一个使用匿名管道的例子,如果你不需要进程通过网络工作。