public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseWindowsService() .ConfigureServices((hostContext, services) => { services.AddHost...
https://source.dot.net/#Microsoft.Extensions.Hosting/HostBuilder.cs,148 Generic HostBuilder是在.Net Core2.1时候提出的并被设计成能够在非Http模式和Http模式下都可以用。 安装Nuget包 Install-Package Microsoft.Extensions.Hosting 构建主机 开始使用Generic HostBuilder,可以手动实例化HostBuilder, var hostBuilder...
publicstaticIHostBuilderCreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseUrls("http://*:8081"); webBuilder.UseStartup<Startup>; }); 再到Startup 中删除 app.UseHttpsRedirection; 。 修改之前控制台程序的代码,把 FormatString...
.SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); return builder.Build(); } } public class BusinessService : IHostedService { private IHttpClientFactory _httpClientFactory; private readonly IHostApplicationLifetime _applicationLifetim...
publicstaticIHostBuilderCreateHostBuilder(string[] args)=> Host.CreateDefaultBuilder(args) .UseWindowsService() .ConfigureServices((hostContext, services) => { services.AddHostedService<TestService>(); }); } 哇! 是不是熟悉的代码映入眼前,双击 Console 是不是更加熟悉了哈~~~ ...
來源: HostingHostBuilderExtensions.cs 接聽Ctrl+C 或 SIGTERM,並呼叫 StopApplication() 以啟動關機流程。這會解除封鎖 RunAsync 和 WaitForShutdownAsync 等延伸模組。 C# 複製 [System.Runtime.Versioning.UnsupportedOSPlatform("android")] [System.Runtime.Versioning.UnsupportedOSPlatform("browser")] [...
RunConsoleAsync(IHostBuilder, CancellationToken) Source: HostingHostBuilderExtensions.cs Enables console support, builds and starts the host, and waits for Ctrl+C or SIGTERM to shut down. C# 复制 [System.Runtime.Versioning.UnsupportedOSPlatform("android")] [System.Runtime.Versioning.Unsupported...
In the context of adding IHostApplicationBuilder support to our API surface, I'm trying to mimic existing IHostBuilder.UseConsoleLifetime() usage in the context of IHostApplicationBuilder. Having a look at IHostBuilder.UseConsoleLifetime...
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseWindowsService() .ConfigureServices((hostContext, services) => { services.AddHostedService<TestService>(); }); } 哇! 是不是熟悉的代码映入眼前,双击 Console 是不是更加熟悉了哈~~~ ...
接下来再改造一下 Main 方法,使用它的 HostFactory 类,代码如下: 代码语言:javascript 复制 publicstaticvoidMain(string[]args){varrc=HostFactory.Run(x=>//1{x.Service<TestService>(s=>//2{s.ConstructUsing(name=>newTestService());//3s.WhenStarted(tc=>tc.Start());//4s.WhenStopped(tc=>tc....