控制通过服务运行的应用程序的实例数

时间:2012-04-20 09:30:17

标签: c# .net windows service

我有一个Windows服务,它会监视正在创建的新文件的文件夹。一旦文件被放入,该服务将启动另一个应用程序发送此文件路径作为参数。

我正在寻找一种方法来控制Windows服务可以生成的第二个应用程序的实例数量,例如,如果有一种方法设置,则应该生成第二个应用程序的5个实例。

我尝试在第二个应用程序中使用值为1的信号量,但这会使第二个应用程序在删除多个文件时执行一个文件,但Windows服务会启动实例数量热文件夹中的文件数。我不想打扰第二个应用程序,并想要删除信号量。

Windows服务和第二个应用程序都是.NET应用程序。

2 个答案:

答案 0 :(得分:0)

如果您可以使用信号量,您是否尝试将其初始值设置为5?这将允许在阻塞之前对信号量进行5次并发访问。

答案 1 :(得分:0)

快速&脏:使用Process类并使用特定名称监视进程数量。您可以订阅Process.Exited事件或只是循环轮询。

正确的解决方案:使用基于WCF的IPC并在服务和服务之间创建握手。客户端