gpt4 book ai didi

.net - ASP.NET 进程中长时间运行的代码

转载 作者:行者123 更新时间:2023-12-03 03:34:55 25 4
gpt4 key购买 nike

例如我们将这段代码放在 asp.net 表单 codebihind 中:

private void btnSendEmails_OnClick()
{
Send100000EmailsAndWaitForReplies();
}

该代码执行将因超时原因被终止。为了解决这个问题,我希望看到这样的内容:

private void btnSendEmails_OnClick()
{
var taskId = AsyncTask.Run( () => Send100000EmailsAndWaitForReplies() );
// Store taskId for future task execution status checking.
}

此方法将在 w3wp.exe 进程之外的特殊环境中以某种方式执行。

有人知道解决此类问题的框架/工具集吗?

更新:电子邮件发送方法只是我的意思的一个示例。事实上,我可能有很多功能需要在 ASP.NET 工作进程之外执行。

例如这一点对于聚合来自多个第三方服务的数据、对其执行某些操作并将其发送回另一个服务的应用程序非常重要。

最佳答案

这已作为其他问题的一部分进行了讨论:

Multithreading in asp.net

BackgroundWorker thread in ASP.NET

没有什么好的方法可以做到这一点。您不希望 ASP.NET 工作进程中有任何长时间运行的进程,因为它可能会在您完成之前回收。

编写一个 Windows 服务在后台运行,为您完成工作。将消息放入 MSMQ 以启动任务。然后他们就可以想跑多久就跑多久。

关于.net - ASP.NET 进程中长时间运行的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/118261/

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