加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net进程中长时间运行的代码

发布时间:2020-12-16 06:40:49 所属栏目:asp.Net 来源:网络整理
导读:例如.我们这个代码在asp.net形式的codebihind: private void btnSendEmails_OnClick(){ Send100000EmailsAndWaitForReplies();} 此代码执行将被超时原因终止. 为了解决这个问题,我希望看到这样的事情: private void btnSendEmails_OnClick(){ var taskId =
例如.我们这个代码在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工作流程之外执行许多功能.

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

解决方法

> QueueBackgroundWorkItem我的示例显示发送电子邮件.
> HangFire开源项目适用于共享主机.
>在Azure上,您可以使用 WebJobs.
>在Azure上,Cloud services

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读