gpt4 book ai didi

c# - 在新进程中运行方法

转载 作者:太空狗 更新时间:2023-10-29 20:39:44 35 4
gpt4 key购买 nike

是否可以在新的子进程中运行方法?在我的示例中,我可以执行方法 Run,它将在新进程(不是线程!)中执行私有(private)方法 doAction

public class MyClass
{
public void Run()
{
//what should I do there to run 'doAction' in new process?
doAction();

}

private void doAction()
{
...
}
}

最佳答案

进程不共享内存,它们之间需要一种机制来进行通信。您可以为此使用多种机制之一:

  1. 文件或数据——一个进程写入文件或数据库,另一个进程读取根据数据或文件内容从并执行一些方法
  2. 服务主机/客户端 - 使用 WCF、.NET Remoting、命名管道或直接一个进程承载一个服务的 TCP/IP 通信机制接口(interface)实现和调用进程(客户端)使用服务接口(interface)的代理,用于序列化和传达调用到主机进程 - 如果你想要一个,这是最好的方法有状态的请求/响应交互
  3. 消息队列——使用消息像 MSMQ 这样的队列,其中一个进程向队列发送一条消息,然后另一个拿起它并执行方法

我敢肯定还有其他方法,但这是最常用的三种方法。

我最喜欢的是轻量级服务主机/客户端场景。有几个轻量级实用程序可以让您轻松完成此操作。您可以使用 RemotingLite或我自己的 RemotingLite 扩展,它支持名为 DuoVia.Net 的命名管道.

关于c# - 在新进程中运行方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16365877/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com