1.NET6 启动过程
2021-11-06 14:49:41 2 举报
net 6 启动示意图
作者其他创作
大纲/内容
配置Host
注册服务器IServer--KestrelServerImpl
BuildCommonServices得到容器对象结合和完成注册
初始化Builder
host.Initialize
得到RequestDelegate也就是请求管道
UseStartup
BuildApplication()组装管道模型
ApplicationBuilder的Build()方法这里完成管道模型的组装
启动过程
GetProviderFromFactory获取容器的对象创建者
扩展
配置文件初始化
SkyAPM无侵入拦截
HostingStartupAttribute支持初始化动作
Run
实例化ApplicationBuilder把容器实例放进去
实例化WebHost
Host.CreateDefaultBuilder
CofigureWebHostDefaults
Provider
UseIIS
把Startup方到容器--委托
又注册了一些到容器
系列对象组装成HostingApplication
注册Startup
执行Startup的ConfigureServices
初始化环境参数HostingEnvironment
放入到一个委托后面写入容器
初始化ContentRoot
EnsureServer实例化Kestrel包括监听地址
configure(builder)执行 Startup的Configure方法
WebHost.StartAsync
阻塞等到消息--启动流程结束
Build
IOC容器实例化
添加配置项
UseKestrel
添加内置注册
日志组件初始化ConfigureLogging
日志信息输出
委托里面的初始化注册执行一遍
收藏
0 条评论
下一页