热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

通用主机的示例

usingMicrosoft.Extensions.DependencyInjection;usingMicrosoft.Extensions.Hosting;usingSyste

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;
using Microsoft.Extensions.Http;
using System.Threading;
using System.Threading.Tasks;
using System.Net.Http;
using Utils.HttpManager.Extension;
namespace ConsoleAppNet6 // Note: actual namespace depends on the project name.
{
internal class Program
{
public static void Main(string[] args)
{
Console.WriteLine("server:0 stop 1 init; 2 start ");
IHostBuilder builder = null;
var tokenSource = new CancellationTokenSource();
bool isInit = false;
while (true)
{

var key = Console.ReadKey();


Task hostTaskInfo = null;
if (key.Key == ConsoleKey.NumPad1 && (!isInit))
{
isInit = true;
builder = CreateHostBuilder(args);
}
else if (key.Key == ConsoleKey.NumPad2 && isInit)
{
hostTaskInfo = builder.StartAsync(tokenSource.Token);
}
else if (key.Key == ConsoleKey.NumPad0 && isInit)
{
tokenSource.Cancel();
break;
}
else
{
Console.WriteLine("\nerror key! 0 stop 1 init; 2 start");
}
}
Console.ReadLine();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) =>
{

//services.AddHttpClient();
services.AddHostedService();
});

}
public class MyWorkerService : IHostedService
{
private HttpClient _httpClient;
private IHttpClientFactory _httpClientFactory;
public MyWorkerService(IHostApplicationLifetime appLifetime,IHttpClientFactory fac)
{
appLifetime.ApplicationStarted.Register(StartEnd);

_httpClient = fac.CreateClient();
_httpClientFactory = fac;
}
public async Task StartAsync(CancellationToken cancellationToken)
{
while (!cancellationToken.IsCancellationRequested)
{
Console.WriteLine("1. do Work");
await Task.Delay(1000 * 5);

}

}
public Task StopAsync(CancellationToken cancellationToken)
{

return Task.CompletedTask;
}
private void StartEnd()
{

}

}
}

  



推荐阅读
  • 本文详细介绍了 BERT 模型中 Transformer 的 Attention 机制,包括其原理、实现代码以及在自然语言处理中的应用。通过结合多个权威资源,帮助读者全面理解这一关键技术。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文详细介绍如何使用arm-eabi-gdb调试Android平台上的C/C++程序。通过具体步骤和实用技巧,帮助开发者更高效地进行调试工作。 ... [详细]
  • Søren Kierkegaard famously stated that life can only be understood in retrospect but must be lived moving forward. This perspective delves into the intricate relationship between our lived experiences and our reflections on them. ... [详细]
  • PyCharm中配置Pylint静态代码分析工具
    本文详细介绍如何在PyCharm中配置和使用Pylint,帮助开发者进行静态代码检查,确保代码符合PEP8规范,提高代码质量。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 优化ASM字节码操作:简化类转换与移除冗余指令
    本文探讨如何利用ASM框架进行字节码操作,以优化现有类的转换过程,简化复杂的转换逻辑,并移除不必要的加0操作。通过这些技术手段,可以显著提升代码性能和可维护性。 ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
author-avatar
liutiancinet
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有