我写了一个
Windows服务,其中我想要有一个实例运行每个客户.这是因为每个客户都有自己的具有相同模式的数据库; Windows服务之间的唯一区别在于它们各自具有与它们被指定用于服务的客户数据库相对应的不同参数. (我不能有多个工作线程的一个服务,因为数据库连接使用一个静态变量,我不能绕过线程.)
我找到了关于如何制作Windows服务的this neat little tutorial,但它只显示我如何设置一个单一的服务.我想设置n个服务实例,每个实例都有一个显示名称,其中包含客户名称,使用表示客户ID的命令行参数运行.
上面链接的教程有一个名为MyWindowsServiceInstaller的类,它在本地系统上安装Windows服务,我猜这是一个合理的地方,为我的所有客户设置一个foreach循环,为每个客户设置一个服务.但是我看不到接口上的任何地方可以让我为新服务设置一个命令行参数.
你怎么做呢?
解决方法
Wil Peck wrote a good article关于如何在单个框上安装Windows服务的多个实例.基本思想是,您必须通过给予他们不同的名称来欺骗安装程序,认为他们是不同的服务.