通过进程间通信将停止参数从.NET应用程序传递给服务的最佳技术是啥?
Posted
技术标签:
【中文标题】通过进程间通信将停止参数从.NET应用程序传递给服务的最佳技术是啥?【英文标题】:What's the best technology for passing a stop argument to a service from a .NET-Application by Inter-process Communication?通过进程间通信将停止参数从.NET应用程序传递给服务的最佳技术是什么? 【发布时间】:2020-03-30 07:54:16 【问题描述】:所以我计划在我的 .NET 应用程序的 GUI 上设置一个按钮来控制服务。我想在按下按钮时停止服务。我想通过在 VB.NET 应用程序和服务之间传递的参数来实现这一点。 据我所知,进程间通信有4种可用技术:
-
.NET 远程处理
WCF 匿名管道
WCF 命名管道
内存映射文件
实现这些功能的最佳技术是什么? 由于这是我第一次使用 IPC,我提前感谢您提供深入的答案:)
【问题讨论】:
为什么这么复杂? docs.microsoft.com/en-us/dotnet/api/… 如果没有准确定义对您而言什么是“最佳”,我们无法回答关于 SO 的“最佳”问题。您还应该记住,在定义“最佳”之后,它可能会清楚地概述任何答案都是主观的,并且问题将作为题外话结束。 IPC的实现方式有很多种,甚至两个程序写入共享目录下的一个文件,每个程序读取该文件,都是IPC的一种形式。您的应用和服务是否始终位于同一台 PC 上? 这能回答你的问题吗? What is the best choice for .NET inter-process communication? 是的,它们始终位于同一台 PC 上。 【参考方案1】:根据@MatSnow 在原始问题下的评论,服务控制器可能是解决此问题的最佳选择。
ServiceController Class Stop Method
【讨论】:
以上是关于通过进程间通信将停止参数从.NET应用程序传递给服务的最佳技术是啥?的主要内容,如果未能解决你的问题,请参考以下文章