0

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

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

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

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

4

2 回答 2

0

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

于 2012-04-20T12:11:20.320 回答
0

Quick & Dirty:使用Process类并监控具有特定名称的进程数量。您可以订阅 Process.Exited 事件或只是循环轮询。

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

于 2012-04-20T12:36:01.457 回答