net主机是啥(net虚拟主机操作方法)

来源:国外服务器 在您之前已被浏览:1 次
导读:目前正在解读《net主机是啥(net虚拟主机操作方法)》的相关信息,《net主机是啥(net虚拟主机操作方法)》是由用户自行发布的知识型内容!下面请观看由(国外主机 - www.2bp.net)用户发布《net主机是啥(net虚拟主机操作方法)》的详细说明。
笨笨网美国主机,w ww.2 b p .n e t

1 前置阅读

在阅读本文章之前,你可以先阅读:

  • Topshelf一个用于使用.NET构建Windows服务框架

2 使用

2.1 创建应用程序

首先,创建一个新的控制台应用程序并从nuget获取Topshelf和
Microsoft.Extensions.Hosting软件包

TopshelfMicrosoft.Extensions.Hosting

当然我们也需要安装Serilog相关的日志框架。

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

2.2 创建.NET泛型主机

然后,我们先建立CreateHostBuilder()方法,并加载了Serilog日志并依赖注入MyService和AppSettings,MyService类作为Topshelf所使用的主要逻辑程序,它会提供Start()和Stop()做为Topshelf执行或停止主要逻辑程序的动作。

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<AppSettings>(hostContext.Configuration); services.AddTransient<MyService>(); });}

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<MyService>(); x.Service<MyService>(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<AppSettings> settings, ILogger<MyService> 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虚拟主机操作方法)
笨笨网美国主机,w ww.2 b p .n e t
提醒:《net主机是啥(net虚拟主机操作方法)》最后刷新时间 2025-03-21 11:18:02,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《net主机是啥(net虚拟主机操作方法)》该内容的真实性请自行鉴别。