Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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#_.net_Networking_Remoting - Fatal编程技术网

C# 跨系统流程生成和交互

C# 跨系统流程生成和交互,c#,.net,networking,remoting,C#,.net,Networking,Remoting,我有一个正在开发的软件,它在远程系统上生成短期进程,以运行一些代码(主要是SerialPort IO),这些代码可能与生成应用程序交互,也可能与生成应用程序交互(但应该假设它会交互),然后根据命令终止 生成这样的远程进程(PSExec?WMI?System.Diagnostics.process)的最佳方法是什么?在生成进程后,我如何告诉它订阅其主机?SO社区会推荐什么作为沟通过程的基本事件/信息框架?WCF是否适合该任务?远程处理会更容易吗?我的选择是什么?我认为System.Diagnost

我有一个正在开发的软件,它在远程系统上生成短期进程,以运行一些代码(主要是SerialPort IO),这些代码可能与生成应用程序交互,也可能与生成应用程序交互(但应该假设它会交互),然后根据命令终止


生成这样的远程进程(PSExec?WMI?System.Diagnostics.process)的最佳方法是什么?在生成进程后,我如何告诉它订阅其主机?SO社区会推荐什么作为沟通过程的基本事件/信息框架?WCF是否适合该任务?远程处理会更容易吗?我的选择是什么?

我认为System.Diagnostics.Process不允许在远程系统上启动进程。所以WMI或者类似psexec的外壳可能是您在这里的唯一选择


关于订阅/交互选项,是的,WCF是一个不错的选择。避免远程处理:它对一般情况没有任何好处,不再得到增强,并且由于各种原因被弃用为WCF(由于版本控制和状态方面的考虑,分布式对象基本上成了一个棘手的问题;消息传递通常更容易设置、理解和维护。如果我没记错的话,远程处理也没有安全性)。为了进行此设置,当父进程生成远程进程时,它可以将URL作为命令行参数传递。父进程在该URL上承载WCF服务。现在,如果生成的进程需要与父进程通信/订阅父进程,它只会连接到给定的URL。如果父进程需要启动通信,然后使WCF服务双工,或者让派生的进程托管自己的WCF服务,并通过父级服务告诉父级URL。

如果您不介意的话,我真的很想与您联系以更详细地讨论这个问题,您愿意发电子邮件给我吗gree7637@vandals.uidaho.edu?我会尽量不消耗你太多的时间我