侧边栏壁纸
博主头像
怪客のBlog 博主等级

行动起来,活在当下

  • 累计撰写 35 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录
C#

C# 控制台应用添加HostBuilder后台运行

怪客
2023-01-18 / 0 评论 / 0 点赞 / 284 阅读 / 0 字

安装依赖包

Install-Package Microsoft.Extensions.Hosting

自定义Host服务

    internal class HostedService : IHostedService
    {
        /// <summary>
        /// 主机启动时调用
        /// </summary>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public Task StartAsync(CancellationToken cancellationToken)
        {
            LogInfo.Info("Host Start!");
            return Task.Run(() =>
            {
                //模拟定时任务
                while (true)
                {
                    LogInfo.Info("Host运行中..");
                    Thread.Sleep(1000);
                }
            });
        }

        /// <summary>
        /// 主机停止时调用
        /// </summary>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public Task StopAsync(CancellationToken cancellationToken)
        {
            LogInfo.Info("Host Stop!");
            return Task.CompletedTask;
        }
    }

注册Host服务并启动主机

        static async Task Main(string[] args)
        {
            var hostBuilder = new HostBuilder().ConfigureServices(serviceCollection =>
            {
                //注册Host服务接口
                serviceCollection.AddHostedService<HostedService>();
            });
            await hostBuilder.RunConsoleAsync();
        }
0

评论区