Ite*_*ity 7 c# asp.net-mvc asynchronous task-parallel-library signalr
这是一个场景:在用户登录时,我启动一个正在侦听IMAP空闲的邮件通知任务,它通过signalr与客户端实时连接(推送通知的种类).现在问题是如何取消此任务?即用户取消推送通知或注销..
编辑:根据我的理解,例如,如果5个用户登录到该站点,有5个任务正在运行?那么如何取消个别任务呢?
必须修改异步工作程序以支持取消
http://www.csharp-examples.net/cancel-asynchronous-method/
您还可以使用不太复杂的后台工作人员 http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.cancelasync.aspx
当您向已启动作业的外部源(数据库、应用程序)发送取消时,我遇到了一个问题,如果它不支持取消,您可能必须等到它完成。
编辑:我从未使用 MVC 这样做过,但找到了一篇关于“为 asycn 进程使用取消令牌”的好文章,该进程在 MVC4 中采用 CancellationToken 参数。 http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4 希望有帮助。