Topshelf创建Windows服务
生活随笔
收集整理的這篇文章主要介紹了
Topshelf创建Windows服务
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
入門例子
using log4net; using System; using System.Timers; using Topshelf;namespace ConsoleAppTest {class Program{static void Main(string[] args){log4net.Config.XmlConfigurator.Configure();HostFactory.Run(x =>{x.Service<TownCrier>();x.RunAsLocalSystem(); // 服務使用NETWORK_SERVICE內置帳戶運行。身份標識,有好幾種方式,如://x.RunAs("username", "password"); x.RunAsPrompt(); x.RunAsNetworkService(); x.SetServiceName("ConsoleAppTest服務名稱");x.SetDisplayName("ConsoleAppTest顯示名稱");x.SetDescription("ConsoleAppTest服務描述");});}}public class TownCrier : ServiceControl{readonly Timer _timer;readonly ILog _log = log4net.LogManager.GetLogger("wolflogInfo");public TownCrier(){//10秒運行一次_timer = new Timer(10000) { AutoReset = true };_timer.Elapsed += (sender, eventArgs) => _log.Info(DateTime.Now);}bool ServiceControl.Start(HostControl hostControl){_log.Info("ConsoleAppTest is Started");_timer.Start();return true;}bool ServiceControl.Stop(HostControl hostControl){_log.Info("ConsoleAppTest is Stop");_timer.Start();return true;}}}?
Log4的config配置
<?xml version="1.0" encoding="utf-8" ?> <configuration><configSections><section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/></configSections><startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /></startup><log4net><logger name="wolflogInfo"><level value="Info" /><appender-ref ref="wolflogInfoFileAppender" /></logger><logger name="wolflogError"><level value="Error" /><appender-ref ref="wolflogErrorFileAppender" /></logger><logger name="wolflogALL"><level value="ALL" /><appender-ref ref="wolflogALLFileAppender" /></logger><!-- 綁定使用的名稱 --> <appender name="wolflogInfoFileAppender" type="log4net.Appender.RollingFileAppender,log4net"><lockingModel type="log4net.Appender.FileAppender+MinimalLock" /><!--輸出文件夾路徑--><param name="File" type="" value="App_Data/Log/Info/" /><param name="AppendToFile" value="true" /><param name="RollingStyle" value="Date" /><!--文件名稱命名規則--><param name="DatePattern" value="yyyyMMdd".txt"" /><param name="StaticLogFileName" value="false" /><param name="MaxSizeRollBackups" value="62" /><layout type="log4net.Layout.PatternLayout,log4net"><!--輸出頭--><param name="ConversionPattern" value="%n[%d] %c %n%m%n%n" /></layout></appender><appender name="wolflogErrorFileAppender" type="log4net.Appender.RollingFileAppender,log4net"><lockingModel type="log4net.Appender.FileAppender+MinimalLock" /><param name="File" type="" value="App_Data/Log/Error/" /><param name="AppendToFile" value="true" /><param name="RollingStyle" value="Date" /><param name="DatePattern" value="yyyyMMdd".txt"" /><param name="StaticLogFileName" value="false" /><param name="MaxSizeRollBackups" value="62" /><layout type="log4net.Layout.PatternLayout,log4net"><param name="ConversionPattern" value="%n[%d] %c %n%m%n%n" /></layout></appender><appender name="wolflogALLFileAppender" type="log4net.Appender.RollingFileAppender,log4net"><lockingModel type="log4net.Appender.FileAppender+MinimalLock" /><param name="File" type="" value="App_Data/Log/ALL/" /><param name="AppendToFile" value="true" /><param name="RollingStyle" value="Date" /><param name="DatePattern" value="yyyyMMdd".txt"" /><param name="StaticLogFileName" value="false" /><param name="MaxSizeRollBackups" value="62" /><layout type="log4net.Layout.PatternLayout,log4net"><param name="ConversionPattern" value="%n[%d] %c %n%m%n%n" /></layout></appender></log4net> </configuration>?
安裝運行命令
安裝:ConsoleAppTest install
卸載:ConsoleAppTest uninstall
啟動:ConsoleAppTest start
停止:ConsoleAppTest stop
需要用管理員運行程序
多實例安裝
ConsoleAppTest –instance "ConsoleAppTest2" install
ConsoleAppTest –instance "ConsoleAppTest2" uninstall
也可以?sc delete? 刪除
?
轉載于:https://www.cnblogs.com/lgxlsm/p/8405163.html
總結
以上是生活随笔為你收集整理的Topshelf创建Windows服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【密码学基础】05 有限域
- 下一篇: css3 - target