使用TopShelf创建Windows服务

1)TopShelf安装:

使用平台: .NET 3.5 Service Pack 1或 .NET 4.0的Windows操作系统

引用Topshelf.dll的途径:

方法一:在解决方案或者项目中,使用NuGet(工具->库程序包管理器->程序包管理器控制台),输入以下命令:

nuget Install-Package Topshelf

方法二:点击这里下载(http://github.com/topshelf/Topshelf/downloads)

2)简单实例:

a. 新建项目,选择控制台应用程序,引用TopShelf.dll

b. 添加SampleService.cs

  
  
  1. public class SampleService
  2. {
  3. static readonly LogWriter _log = HostLogger.Get<SampleService>();
  4. public void Start()
  5. {
  6. _log.Info("SampleService Start...");
  7. }
  8. public void Stop()
  9. {
  10. _log.Info("SampleService Stop...");
  11. }
  12. }
这里采用TopShelf本身的日志功能即 LogWriter _log =HostLogger.Get<SampleService>();TopShelf本身提供的日志功能可以在控制台中输出日志信息。如果要更强大的日志功能可以结合Log4net或者NLog来实现日志记录。

c. 在Program.cs中添加如下代码

  
  
  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. HostFactory.Run(x =>
  6. {
  7. x.UseAssemblyInfoForServiceInfo();
  8. x.Service<SampleService>(s =>
  9. {
  10. s.ConstructUsing(name => new SampleService());
  11. s.WhenStarted(tc => tc.Start());
  12. s.WhenStopped(tc => tc.Stop());
  13. });
  14. x.SetServiceName("ServiceName");
  15. x.SetDisplayName("DisplayName");
  16. x.SetInstanceName("InstanceName");
  17. x.SetDescription("Sample Service's Description");
  18. x.RunAsLocalSystem();
  19. x.StartAutomatically();
  20. });
  21. }
  22. }
d. 在VS中直接运行实例,即可调试服务程序


e. 安装服务,运行->进入应用程序的目录,输入xxx.exe install命令,即可安装成功(安装失败的话,尝试以管理员身份运行命令提示符程序)


f. 在服务管理器中查看(比对Programs.cs中的设置)


g. 卸载服务,与安装类似,输入在命令提示符工具中输入 xxx.exe uninstall




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值