1正脸读值。

在阅读文章文中以前,您能够阅读文章:

Topshelf一个用以应用.NET搭建Windows服务项目架构

2应用。

2.1建立应用软件。

最先,建立一个新的控制面板应用软件,并得到Topshelf和微软公司。拓展。代管来源于nuget的包。

TopshelfMicrosoft.Extensions.Hosting

自然,大家还必须安裝与Serilog有关的日志架构。

Serilog.Extensions.HostingSerilog.Settings.ConfigurationSerilog.Sinks.ConsoleSerilog.Sinks.FileTopshelf.Serilog

2.2建立。NET通用性服务器。

随后,大家最先创建CreateHostBuilder()方式,载入Serilog日志,并按照它引入MyService和AppSettings。MyService类做为tophelf应用的主逻辑程序,将给予Start()和Stop()做为tophelf实行或终止主逻辑程序的姿势。

class Program{ static void Main(string[] args) { var host = CreateHostBuilder(args).Build(); } public static IHostBuilder CreateHostBuilder(string[] args) => Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder(args) .UseSerilog() .ConfigureServices((hostContext, services) => { services.Configure(hostContext.Configuration); services.AddTransient(); });}

2.3在Topshelf申请注册服务项目。

随后,在Topshelf申请注册大家的产品级别。转至Program.cs并加上:

class Program{ static void Main(string[] args) { var host = CreateHostBuilder(args).Build(); RunWindowsServiceWithHost(host); } private static void RunWindowsServiceWithHost(IHost host) { var rc = HostFactory.Run(x => { x.UseSerilog(); x.SetDisplayName("我的服务"); x.SetDescription("我的服务详细说明"); x.SetServiceName("MyService"); var myService = host.Services.GetRequiredService(); x.Service(s => { s.ConstructUsing(() => myService); s.WhenStarted(tc => tc.Start()); s.WhenStopped(tc => tc.Stop()); }); x.RunAsLocalSystem(); x.StartAutomatically(); }); var exitCode = (int)Convert.ChangeType(rc, rc.GetTypeCode()); Environment.ExitCode = exitCode; }}

2.4 MyService类。

随后,大家看一下MyService类,它关键演试了引入ILogger和AppSettings。

public class MyService{ private readonly ILogger logger; private readonly AppSettings settings; public MyService(IOptions settings, ILogger logger) { this.settings = settings.Value; this.logger = logger; } public void Start() { logger.LogInformation($"Starting {this.settings.ServiceName}..."); } public void Stop() { logger.LogInformation($"Stopping {this.settings.ServiceName}..."); }}

2.5运作应用软件。

最终,F5实行应用软件,假如一切顺利,您应当会见到相近如下所示的信息:

net主机是啥-net虚拟主机操作方法-第1张图片

评论(0条)

刀客源码 游客评论