创建测试和部署Windows服务时的最佳实践?

Han*_*sir 0 .net c# windows-services

我建立一个小的Windows服务(不是一个Web服务)定期检查一些数据并基于此并调用类库来做一些工作

顺便说一句:这是我第一次尝试创建Windows服务

zid*_*ane 5

根据定义,Windows服务难以测试,因为您必须始终安装它们并在每次更改时卸载它们.

最好将你为服务编写的BL解耦并将其放在一个单独的类中.之后,您可以编写简单的win桌面应用程序,您将使用并测试此BL类.完成测试后,很容易将相同的逻辑包含在Windows服务项目中.

对于调试Windows服务,您必须附加到进程,之后直接测试代码非常容易.

希望这会有所帮助......

  • 不是这种情况.您可以创建一个继承自服务的类,并公开服务功能以进行测试.该类(我通常称之为Host)可以将服务的受保护的OnStart,OnStop等方法公开为公共方法(只需创建一个分派给受保护的基类方法的公共方法).然后,您可以创建一个驱动Host类的表单来测试您的服务.唯一的复杂性是您的表单的app.conig必须具有您的服务所寻找的配置设置. (2认同)