造成这个问题的原因是
使用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助手:
System.Threading.Tasks.TaskCanceledException:已取消一个任务
CSDN-Ada助手:
vnc view使用教程
CSDN-Ada助手:
windows本机开启远程桌面(三)
CSDN-Ada助手: