word文档地址:https://github.com/IceEmblem/LearningDocuments/tree/master/%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99/Windows%20%E5%B9%B3%E5%8F%B0/Net
.NET 的一个重要的概念IHost(主机),其由HostBuilder生成
示例
var builder = new HostBuilder();
// 生成Host
builder.Build()
// 运行Host
.Run();
HostBuilder提供的功能
HostBuilder提供了以下功能
1.依赖关系注入容器 (DI)
2.Logging注册
3.Configuration配置注册
4.IHostedService 注册
5.Host生命周期管理
依赖关系注入容器
HostBuilder 提供已了默认的依赖注入容器,如果我们想使用其他依赖注入容器,则可以调用UseServiceProviderFactory替换
var builder = new HostBuilder();
builder.UseServiceProviderFactory(new AutofacServiceProviderFactory());
Logging注册
HostBuilder默认注册了如下日志提供者,如果需要其他日志则需要自己注册
-控制台
-调试
-EventSource
-EventLog(仅当在 Windows 上运行时)
日志的注册五花八门,这里不示例了
Configuration配置注册
我们可以使用如下方法给Host添加配置
builder.ConfigureHostConfiguration((config) =>
{
// 配置Host的路径
config.SetBasePath(Directory.GetCurrentDirectory());
// 添加Json配置文件
config.AddJsonFile("hostsettings.json", optional: true);
// 添加环境变量配置
config.AddEnvironmentVariables(prefix: "PREFIX_");
// 添加命令行配置
config.AddCommandLine(args);
Dictionary<string, string> source = new

本文详细解读了.NET Core中HostBuilder的作用,包括DI容器的使用、各种日志注册、配置设置以及IHostedService的注册与生命周期管理。通过实例演示,了解如何将HostBuilder用于控制台应用和后台服务开发。
最低0.47元/天 解锁文章

1502

被折叠的 条评论
为什么被折叠?



