Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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# 为家长编写代码&;子进程_C#_Wcf_Process_Shared Memory_Datacontract - Fatal编程技术网

C# 为家长编写代码&;子进程

C# 为家长编写代码&;子进程,c#,wcf,process,shared-memory,datacontract,C#,Wcf,Process,Shared Memory,Datacontract,我有一个项目,它使用的组件将持续整个流程的生命周期(请参阅)。为了避免该组件持久化,我需要将其包装在子进程中并调用它 理想情况下,我希望以与线程相同的方式使用进程;让编译器帮助我处理这个过程;但由于Windows管理进程的方式,这是不可能的 是否有建议的方法来设计预期协同工作的过程;i、 e.关于如何调用子进程、将异常从子进程返回到父进程以及使用共享内存/WCF/其他方法允许两个进程相互通信的最佳实践?理想情况下,我希望能够在同一个VS2012解决方案中使用这两个进程的代码,并让编译器尽其所能确

我有一个项目,它使用的组件将持续整个流程的生命周期(请参阅)。为了避免该组件持久化,我需要将其包装在子进程中并调用它

理想情况下,我希望以与线程相同的方式使用进程;让编译器帮助我处理这个过程;但由于Windows管理进程的方式,这是不可能的

是否有建议的方法来设计预期协同工作的过程;i、 e.关于如何调用子进程、将异常从子进程返回到父进程以及使用共享内存/WCF/其他方法允许两个进程相互通信的最佳实践?理想情况下,我希望能够在同一个VS2012解决方案中使用这两个进程的代码,并让编译器尽其所能确保这两个进程的兼容性。

有很多方法可以使许多
AppDomain
透明地协同工作,但我会避免这样做,因为它太复杂,而且有更简单的方法

另一个很好的方法是使用消息队列并对其进行订阅,这样就可以很容易地协调各种流程

此外,与WCF自主机相比,它更易于使用和实现


在我看来,我会使用ASP.NET Web API方法。

我制作了一个子进程管理库,通过双向WCF管道监控父进程和子进程。如果子进程终止或父进程彼此终止,则会收到通知。 还有一个调试器帮助程序可用于自动将VS调试器附加到已启动的子进程

项目地点:

NuGet软件包: