在多个实例中运行的Windows服务 - 最佳实践?

时间:2012-05-19 07:14:54

标签: windows-services

我有一个项目,其中许多“环境”同时运行:本地开发环境(VS),开发,测试和产品。

我们现在希望使用“服务器应用程序”扩展程序套件,以处理后台分配作为计算和邮件发送。

我正在努力寻找这种情况的最佳做法。

我认为它应该是一个Windows服务。

因此,我需要运行三个服务副本(Dev,Test和Prod),并且最好在分配为我们的应用程序服务器的单个服务器上运行。我想我可以将相关的exe复制到不同的目录,并“以某种方式”指示每个服务应该连接到哪个环境。

重要的是要注意这三个服务肯定不会运行相同的代码版本。

这样做的最佳做法是什么?

任何意见都赞赏!

丹麦安德斯

2 个答案:

答案 0 :(得分:2)

肯定听起来像Windows服务是正确的电话。这些服务将是守护进程,彼此独立运行。

我建议不要创建3个可执行文件。只需一个,因为它更容易部署。 让你的exe获取一个命令行参数,告诉它应该运行哪个环境,然后触发代码的相应部分。

然后很容易启动,停止和查询您的服务。

让我知道你的想法!

答案 1 :(得分:1)

为每个已安装的服务可执行文件实例使用应用程序配置文件,以便设置要运行的环境。