主题
Generic Host / 应用程序设计主题
可一并浏览 Generic Host、BackgroundService、DI、配置、日志以及启动与停止设计的 .NET 应用程序设计主题。
这个主题想要梳理的内容
.NET 应用程序稍微成长一些之后,Main、Program.cs、窗体初始化、常驻处理、配置读取、日志初始化就会散落各处。
这个主题是一个入口,用来以 Generic Host 为轴心,一并梳理 如何设计整个应用程序的启动和停止。
- DI、配置、日志在哪里串联起来
BackgroundService和常驻处理的生命周期由谁持有- 如何处理 graceful shutdown 和停止时的 flush
- 如何整理 UI 之外的处理
咨询中常见的论点
Task.Run和计时器到处冒出来,停止的职责不清晰- 不知道
Host.CreateApplicationBuilder和BackgroundService应该引入到什么程度 - 想梳理控制台、worker、桌面应用程序如何统一底层结构
- 配置、日志、DI 的连接是事后一点点补上去的,维护起来很痛苦
适合的推进方式
关于 Generic Host,只记住 API 名称效果有限,把启动、生命周期、职责划分放在一起看 会更容易梳理。 以相关的 3 篇文章为入口,再结合 Windows 应用程序开发和设计评审页面一起看,就能看清应该把 host 引入到什么程度。
联系我们
如果您遇到的问题与本页内容相近,欢迎附上当前状况和所需支持的形式与我们联系。