Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.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#应用程序(32位和64位)之间进行IPC的最佳方式是什么_C#_.net_C# 2.0_Ipc - Fatal编程技术网

什么';在两个C#应用程序(32位和64位)之间进行IPC的最佳方式是什么

什么';在两个C#应用程序(32位和64位)之间进行IPC的最佳方式是什么,c#,.net,c#-2.0,ipc,C#,.net,C# 2.0,Ipc,一个是64位,另一个是32位。我目前正在制作32位应用程序控制台,并读取输出。有更好的办法吗?我的数据是文本 编辑:两个可执行文件都在同一台计算机上。在.NET 2.0中,您可以。执行IPC程序是32位还是64位并不重要,因此选择您想要的方法(请参阅)。如果您被限制为.NET 2.0,则有几种方法可以执行: 如果这两个应用程序位于不同的计算机上,则可以使用套接字或.net远程处理(取决于交互的复杂性) 如果两个应用程序在同一台计算机上,.net远程处理是一个不错的选择 它们是32位或64位的事实

一个是64位,另一个是32位。我目前正在制作32位应用程序控制台,并读取输出。有更好的办法吗?我的数据是文本


编辑:两个可执行文件都在同一台计算机上。

在.NET 2.0中,您可以。

执行IPC程序是32位还是64位并不重要,因此选择您想要的方法(请参阅)。

如果您被限制为.NET 2.0,则有几种方法可以执行:

  • 如果这两个应用程序位于不同的计算机上,则可以使用套接字或.net远程处理(取决于交互的复杂性)
  • 如果两个应用程序在同一台计算机上,.net远程处理是一个不错的选择

  • 它们是32位或64位的事实对这一点没有任何影响。

    这是在使用套接字吗?它能被防火墙阻止吗?@blez,是的,它能被阻止。您可以使用防火墙例外中的端口。因此,我最好使用命名管道或控制台的输出。@blez,是的,命名管道是另一种选择。@blez,据我所知,.net 2.0中的命名管道只能通过调用本机Win32管道API来使用。就像我说的,如果你在同一台机器上,远程处理也可以使用共享内存。@blez:那么我建议使用.Net远程处理。它允许您直接从一个程序调用另一个程序的方法。这不是使用套接字吗?所以它可以被防火墙或防病毒软件阻止?@blez:在同一台机器上,我认为它使用共享内存。您可以指定要使用的底层机制。您是否可以将64位应用程序编译为x86并使用单个进程?换句话说,问题的32/64部分实际上并不重要。真正的问题是,您需要在两个不同的进程之间进行通信。当然,如果我能够以某种方式将它们合并到一个进程中会更好。是什么阻止了您合并?如何合并它们并从64位环境运行32位?