我可以在 dot net core 控制台应用程序中使用BackgroundService吗

use*_*018 2 c# .net-core

我知道如何在asp.net core中使用后台服务

public class WatchMan : BackgroundService
{
    
}
Run Code Online (Sandbox Code Playgroud)

我有一个点核心控制台应用程序,我想将其作为窗口服务运行,我可以BackgroundService在那里使用或类似的东西吗?

som*_*men 9

是的,只要确保主线程保持活动状态,这样应用程序就不会退出。

这篇文章似乎很好地解释了这个过程; https://medium.com/@daniel.sagita/backgroundservice-for-a-long-running-work-3debe8f8d25b

这里有一个 SO 也展示了这个过程:

.Net core控制台应用程序中触发后台服务ExecuteAsync方法

另外,如果你想做一些后台处理,请看一下hangfire:

https://www.hangfire.io/

也可以从 Windows 服务运行。