windows 服务开发组件之Topshelf
2023-09-11 14:21:52 时间
常用的windows服务开发有vs自带的windows服务开发,但是操作起来不是很便利,相比Topshelf后者更加的方便,且易于调试,安装,卸载.
1、安装
通过nuget搜索最新版本的topshelf,并安装到控制台项目(netcore和net均可)中,一般都是用控制台调试,然后通过topshelf安装成windows服务.
官方文档地址 组件支持的功能基本满足日常开发需求,如常规的服务描述,服务异常处理,服务恢复,服务启动模式等等不一一赘述,自行查阅文档.
2、代码
public static void Run<TExecutedService>(Action<TopshelfOptions> configurator) where TExecutedService : TopshelfService { var options=new TopshelfOptions(); configurator?.Invoke(options); if (string.IsNullOrEmpty(options.ServiceName)) throw new ArgumentNullException(nameof(options.ServiceName)); if (string.IsNullOrEmpty(options.DisplayName)) throw new ArgumentNullException(nameof(options.DisplayName)); HostFactory.Run(configurater => { configurater.Service<TExecutedService>(service => { service.ConstructUsing(hostSetting => { return ApplicationConfiguration.Current.Provider.GetRequiredService<TExecutedService>(); }); service.WhenStarted(s => s.Start()); service.WhenStopped(s => s.Stop()); }); configurater.RunAsLocalSystem(); configurater.SetDescription(options.Description?? options.DisplayName); configurater.SetDisplayName(options.DisplayName); configurater.SetServiceName(options.ServiceName); configurater.OnException(exception => { Console.WriteLine("业务执行异常,异常信息如下:" + exception.Message + "堆栈信息如下:" + exception.StackTrace); }); }); }
相关文章
- Qt实现Windows远程控制
- Windows+P查看电脑屏幕扩展
- [windows菜鸟]C#中调用Windows API的技术要点说明
- 微信小程序 - TDesign 组件库环境搭建(Windows)
- Windows 和 Ubuntu 双系统完全独立的安装方法
- 通过安装扩展让 KDE Plasma 5 桌面看起来感觉就像 Windows 10 桌面
- docker for windows--Windows 10 家庭中文版安装apache zeppelin 0.10.1版本及安全配置
- qt中xe运行缺少组件,Qt-c++桌面编程报错:qt.qpa.plugin: Could not find the Qt platform plugin “windows“ in ““,最终解决方案
- 【备忘】Windows的命令行下设置网络代理
- windows Redis绑定ip无效,Redis设置密码无效,Windows Redis 配置不生效, Windows Redis requirepass不生效
- 谷歌公布Windows一个严重漏洞
- php 将office文件(word/excel/ppt)转化为pdf(windows和linux只要安装对应组件应该就行)
- Windows安装Centos7双系统后Windows启动项消失
- Windows XP 连接windows 7 远程桌面 软件
- Windows显示文件名后缀的方法