123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using Microsoft.AspNetCore.Hosting;
- using Microsoft.AspNetCore.Hosting.WindowsServices;
- using Microsoft.Extensions.DependencyInjection;
- using Microsoft.Extensions.Logging;
- using System.ComponentModel;
- using System.ServiceProcess;
- namespace QM.KJGH.CGGL
- {
- [DesignerCategory("Code")]
- internal class CustomWebHostService : WebHostService
- {
- private ILogger _logger;
- public CustomWebHostService(IWebHost host) : base(host)
- {
- _logger = host.Services
- .GetRequiredService<ILogger<CustomWebHostService>>();
- }
- protected override void OnStarting(string[] args)
- {
- _logger.LogInformation("OnStarting method called.");
- base.OnStarting(args);
- }
- protected override void OnStarted()
- {
- _logger.LogInformation("OnStarted method called.");
- base.OnStarted();
- }
- protected override void OnStopping()
- {
- _logger.LogInformation("OnStopping method called.");
- base.OnStopping();
- }
- }
- public static class WebHostServiceExtensions
- {
- public static void RunAsCustomService(this IWebHost host)
- {
- var webHostService = new CustomWebHostService(host);
- ServiceBase.Run(webHostService);
- }
- }
- }
|