Dev.to | 📄 原文链接 | 2026-07-27 收录

一个 Task.Run 悄悄杀死了 BackgroundService——.NET 的冷启动陷阱

来源:dev.to — Jul 25-26

📋 概述

在 .NET 的 BackgroundService 中,ExecuteAsync 方法的返回值决定了服务是否被认为“已启动”。当开发者在 ExecuteAsync 中用 Task.Run 启动异步循环,但忘记 await 时,方法会立即返回——框架认为服务已成功启动,而实际的后台循环要么丢失了异常传播,要么根本没运行。

🔑 核心要点

💡 金句

BackgroundService 启动成功,后台任务从未运行——.NET 框架就这样平静地说了一个谎。
← 返回 Dev.to 首页