gpt4 book ai didi

c# - Asp .Net 后台工作线程

转载 作者:太空宇宙 更新时间:2023-11-03 23:30:29 24 4
gpt4 key购买 nike

我计划在 ASP .net 网站(在 global.asax 内)的应用程序启动事件中启动后台线程。

我在很多地方都读到这不是一个好的做法,因为这个线程可能会导致整个 IIS 进程崩溃或可能导致其他问题。

我需要启动一个后台线程定期连接到另一台服务器并更新数据库,所以:

在这种情况下,最佳做法是什么?我可以只将线程标记为后台,以便在其他线程停止时自动停止吗?如果在这种情况下启动线程不是一个好的选择,最好的替代方法是什么?

最佳答案

请注意,当 AppDomain 回收时,ASP.NET 中的任何后台工作都可能在没有警告的情况下消失。 Windows 服务和计划任务消失的理由较少,但它们也可能消失(重启、部署、蓝屏、断电,或者上帝禁止您的代码中出现错误!)。

必须能够容忍任何工作消失。只要是这种情况,您就可以安全地开始后台工作。

您可以使用计时器,或者更简单地使用一个任务:

while (true) {
DoWork();
await Task.Delay(...);
}

一定要记录错误。

关于c# - Asp .Net 后台工作线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32435626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com