本文由 发布,转载请注明出处,如有问题请联系我们! 发布时间: 2021-08-01net主机是啥-net虚拟主机操作方法
加载中1正脸读值。
在阅读文章文中以前,您能够阅读文章:
Topshelf一个用以应用.NET搭建Windows服务项目架构2应用。
2.1建立应用软件。
最先,建立一个新的控制面板应用软件,并得到Topshelf和微软公司。拓展。代管来源于nuget的包。
TopshelfMicrosoft.Extensions.Hosting自然,大家还必须安裝与Serilog有关的日志架构。
Serilog.Extensions.HostingSerilog.Settings.ConfigurationSerilog.Sinks.ConsoleSerilog.Sinks.FileTopshelf.Serilog2.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实行应用软件,假如一切顺利,您应当会见到相近如下所示的信息: