Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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
.net 是否与Windows服务通信/向Windows服务发送指令?_.net_Windows Services - Fatal编程技术网

.net 是否与Windows服务通信/向Windows服务发送指令?

.net 是否与Windows服务通信/向Windows服务发送指令?,.net,windows-services,.net,Windows Services,我们有一个由外部承包商编写的解决方案,通过该解决方案,.net Windows服务可以持续运行,监控系统时间,并且在夜间,当活动很少时,执行一个长任务,在任务完成时发出信号,然后返回到第二天晚上监控时间 目前无法监视或查询该服务正在运行的进程的状态,尽管我们可以查询该服务本身以查看它是否正在由Windows运行 如果出现故障,承包商向我们提供了一个单独的可执行文件,该文件也可以运行相同的任务 问题是,无法知道服务当前是否正在执行长任务,它只是不完整,或者它是否已进入某种失败状态,这意味着独立可执

我们有一个由外部承包商编写的解决方案,通过该解决方案,.net Windows服务可以持续运行,监控系统时间,并且在夜间,当活动很少时,执行一个长任务,在任务完成时发出信号,然后返回到第二天晚上监控时间

目前无法监视或查询该服务正在运行的进程的状态,尽管我们可以查询该服务本身以查看它是否正在由Windows运行

如果出现故障,承包商向我们提供了一个单独的可执行文件,该文件也可以运行相同的任务

问题是,无法知道服务当前是否正在执行长任务,它只是不完整,或者它是否已进入某种失败状态,这意味着独立可执行文件可能很容易出错,因为服务仍在处理任务

最终,我希望能够向服务发送查询,找出它的状态,并在它运行时给它指令


我应该使用什么方法开始发送和接收这些消息?

您可以使用它并使用此服务查询状态

有几种方法可供您使用,最明显的选择是命名管道或套接字

这两种方法都可以很好地工作,但是我建议您托管一个WCF服务(在Windows服务中),并将其用于进程间通信,而不是直接尝试实现它们

WCF服务可以无缝配置为使用套接字或命名管道(以及一系列不太合适的选项)作为底层传输机制,并简化IPC(进程间通信)系统的开发

关于WCF服务以及如何在web上实现WCF服务,有大量的信息——试试谷歌吧


(如果出于某种原因,您使用的是.Net 2.0而不是.Net 3.5或更高版本,那么您应该看看.Net远程处理-它本质上是WCF的前身,工作方式完全不同,但基本上实现了相同的功能)。

您有该服务的源代码吗?你对修改它感到满意吗?修改它?还有,你为什么不使用系统任务调度器呢?哦,是的,我们有源代码,我很乐意修改它,我只是对Windows服务一无所知,仅此而已。