相关文章推荐
鬼畜的杨桃  ·  powershell ...·  1 年前    · 

造成这个问题的原因是

使用task创建了一个任务,任务调用的代码又会造成销毁这个任务,于是就造成了一个执行异常,这是一个矛盾的地方。

只要采用CancellationTokenSource即可

private CancellationTokenSource tokenSource = new CancellationTokenSource();

Task.Run(() =>
                System.Windows.Application.Current.Dispatcher.Invoke(() =>
                        //上面执行相关代码
                        //任务取消
                        tokenSource.Cancel();
                        //程序关闭
                        Messenger.Default.Send(string.Empty, "Shutdown");
            }, tokenSource.Token);

在这段代码里 任务最后需要调用一个订阅服务去关闭程序,关闭程序之前先将该任务取消。

使用task创建了一个任务,任务调用的代码又会造成销毁这个任务,于是就造成了一个执行异常,后者叫矛盾。在这段代码里 任务最后需要调用一个订阅服务去关闭程序,关闭程序之前先将该任务取消。只要采用CancellationTokenSource即可。造成这个问题的原因是。
Exception: System.AggregateException: 发生一个或多个错误。 ---> System.Threading.Tasks.TaskCanceledException: 已取消一个任务。 System.Web.Http.Dispatcher.HttpRoutingDispatcher.SendAsync(System.Net.Http.HttpRequestMessa
TaskCanceledException at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.... using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; public class Example public static void Main() // Define the cancellation t
异常详细报错:关闭程序时出现的异常。 引发的异常:“System.Threading.Tasks.TaskCanceledException”(位于 mscorlib.dll 中) 引发的异常:“System.TimeoutException”(位于 WindowsBase.dll 中) 原因:使用Environment.Exit(0)强制关闭程序; 解决方式:不要使用Environm...
(1)关闭VS2019,重新打开VS2019后就恢复正常。 (2)如果重启VS2019不能恢复正常,那就需要重新启动操作系统了。不过貌似这个也不保险,只好清除掉一些临时文件,估计一些临时性的配置信息影响了程序的正常编译,一般推荐使用Bleachbit来干这破事。 附记:感觉操作系统有时就像个大垃圾场,越用越臃肿。没完没了地收集cookie啦,备份资料啦什么的,真正出问题的时候发现基本都是些不中用的
System.Threading.Tasks是一个命名空间,提供了用于创建和管理任务的类和方法。它的作用是通过任务的概念来解决线程处理的复杂问题。任务(Task)包含一个操作,以及依赖哪个任务的完成才能开始。在使用System.Threading.Tasks时,可以使用Task类来创建和执行任务,使用Task.ContinueWith方法来定义任务之间的依赖关系,使用Task.WaitAll方法来阻塞调用任务,直到等待的所有任务完成为止,使用Task.WhenAll方法返回一个任务,允许使用async关键字等待结果,而不会阻塞等待任务。此外,还可以使用Task.Delay方法来指定从这个方法返回的任务完成前要等待的毫秒数。\[2\]在使用System.Threading.Tasks时,可以使用async和await关键字来简化异步编程的代码,使代码更加清晰和易于理解。\[3\] #### 引用[.reference_title] - *1* [C#任务Task应用详解](https://blog.csdn.net/weixin_36609037/article/details/126541489)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [.NET 4.0 System.Threading.Tasks学习笔记](https://blog.csdn.net/weixin_34223655/article/details/85449464)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [System.Threading.Tasks](https://blog.csdn.net/weixin_30699831/article/details/96191950)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
CSDN-Ada助手: 恭喜您写下了第7篇博客!标题“aspose.words相关操作”让我非常期待地阅读了您的文章。您对于aspose.words的相关操作的探索和分享,无疑为读者提供了宝贵的知识和经验。我希望您能继续保持创作的热情,为我们带来更多关于aspose.words的深入解析。 在下一步的创作中,或许您可以考虑分享一些aspose.words的实际应用案例,以及在解决具体问题时的思路和方法。这样的内容不仅能够帮助读者更好地理解aspose.words的使用,还能够激发读者的思考和创造力。期待您的下一篇文章,谦虚地期待着您的精彩创作! System.Threading.Tasks.TaskCanceledException:已取消一个任务 CSDN-Ada助手: 恭喜您写完第9篇博客!标题“System.Threading.Tasks.TaskCanceledException:已取消一个任务”引起了我的兴趣。看起来您在处理任务取消方面遇到了一些挑战。我很欣赏您分享这个问题,并希望能给您一些建议。 对于下一步的创作,我建议您可以尝试探索更多关于任务取消的解决方案,以及如何避免或处理这种异常情况。您可以分享一些实用的技巧或者最佳实践,帮助读者更好地理解和应对这个问题。 同时,我也希望您能继续保持谦虚的态度,因为技术领域是个不断学习和发展的领域。我们都有待学习的地方,所以请继续分享您的经验和知识,让我们一起共同进步。期待您的下一篇博客! vnc view使用教程 CSDN-Ada助手: 恭喜您写了一篇非常实用的博客,分享了VNC View的使用教程。希望您能继续保持创作的热情,为大家分享更多的实用技巧和经验。如果可以的话,我们期待着您能写一些高级的应用场景,让我们更深入地了解VNC View的潜力和应用范围。感谢您的分享! CSDN 会根据你创作的博客的质量,给予优秀的博主博客红包奖励。请关注 https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply6 看奖励名单。 windows本机开启远程桌面(三) CSDN-Ada助手: 恭喜您又发表了一篇有关开启远程桌面的实用博客,每篇都让读者受益匪浅。不知道您是否考虑过分享一些远程桌面应用的实战案例呢?相信这将会更加吸引读者,期待您的下一篇作品。 CSDN 会根据你创作的博客的质量,给予优秀的博主博客红包奖励。请关注 https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply5 看奖励名单。