gpt4 book ai didi

c# - 如何通过网络请求取消异步任务?

转载 作者:太空狗 更新时间:2023-10-29 20:37:09 25 4
gpt4 key购买 nike

场景如下:在用户登录时,我启动了一个任务,该任务正在监听空闲的 IMAP 以获取邮件通知,并且它通过 signalr(一种推送通知)与客户端建立实时连接。现在的问题是我如何取消这个任务?即用户取消推送通知或注销..

编辑:根据我的理解,例如,如果 5 个用户登录到站点,则有 5 个任务正在运行?那么我该如何取消单个任务。

最佳答案

必须修改异步 worker 以支持取消

http://www.csharp-examples.net/cancel-asynchronous-method/

你也可以使用稍微不那么复杂的后台 worker http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.cancelasync.aspx

我在向已经开始作业的外部源(DB、应用程序)发送取消时遇到的问题,如果它不支持取消,则可能需要等到它完成。

编辑:我从来没有用 MVC 做过这件事,但找到了一篇关于“使用取消 token ”的好文章,用于在 MVC4 中采用 CancellationToken 参数的异步进程。 http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4希望对您有所帮助。

关于c# - 如何通过网络请求取消异步任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12325863/

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