关门了。这个问题是基于观点的。它目前不接受答案。
想要改进这个问题吗?通过编辑这篇文章来更新问题,以便可以用事实和引用来回答它。
昨天关门了。
改进这个问题
我想创建一个不和谐机器人,DSharpPlus和Discord.Net在他们的教程中都使用控制台应用程序。
我想知道这是否有任何原因,因为当考虑到它时,工人服务应用程序似乎更适合它,不是吗?我可以在StartAsync方法中设置机器人,如果需要,我可以处理StopAsync方法中的所有内容。
那么,有人知道为什么首选控制台应用程序吗?也许worker服务有我目前没有意识到的缺点?
也许机器人会在ExecuteAsync方法中挣扎?
发布于 2021-02-28 06:25:44
那么,有人知道为什么首选控制台应用程序吗?也许worker服务有我目前没有意识到的缺点?
.NET代码声明了跨平台支持,这意味着您可以对不同的目标平台使用相同的源代码。正因为如此,.NET不得不对长时间运行的后台程序使用某种“服务”的概念,而不是绑定到特定的平台。在Linux上,任何控制台应用程序都可以是“服务”应用程序(看一下: https://swimburger.net/blog/dotnet/how-to-run-a-dotnet-core-console-app-as-a-service-using-systemd-on-linux).在Windows上,它有点不同,但仍然相当简单(看看: https://dotnetcoretutorials.com/2019/12/07/creating-windows-services-in-net-core-part-3-the-net-core-worker-way/.
也许机器人会在ExecuteAsync方法中挣扎?
BackgroundService类被设计为任何“服务”的基类,因此,我认为,没有更好的候选扩展:)
https://stackoverflow.com/questions/66402706
复制相似问题