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