C# 发生异常时如何停止任务和鼠标光标
我在使用下面的代码,问题是当我在GetUserData()中出现异常时 我将消息发送到UI,当我将鼠标放入捕捉器时,鼠标移动器不会停止 鼠标光标。Null导致转储。 我的问题是:C# 发生异常时如何停止任务和鼠标光标,c#,wpf,asynchronous,task-parallel-library,task,C#,Wpf,Asynchronous,Task Parallel Library,Task,我在使用下面的代码,问题是当我在GetUserData()中出现异常时 我将消息发送到UI,当我将鼠标放入捕捉器时,鼠标移动器不会停止 鼠标光标。Null导致转储。 我的问题是: 当我遇到异常,即无法继续执行continueWith时,如何停止任务(tpl) 当我遇到异常时,如何忽略鼠标光标 您可以使用Task.Wait()捕获实例。如果执行期间有一个exeption,它将被重新抛出 这篇文章描述的行为非常好 对于第2个问题:如果要更改Dispatcher线程的游标,则需要使用以下命令将操作重
您可以使用
Task.Wait()
捕获实例。如果执行期间有一个exeption,它将被重新抛出
这篇文章描述的行为非常好
对于第2个问题:如果要更改Dispatcher线程的游标,则需要使用以下命令将操作重新发送回Dispatcher:
Application.Current.Dispatcher.Invoke(new Action(() => Mouse.OverrideCursor = Cursors.Null));
为什么使用
ContinueWith
而不是async/await
,您是否仅限于VS2010?否则,如果您需要以.NET 4.0为目标,但使用VS2012+开发,您仍然可以使用async/await
,Microsoft为此提供了库。
Application.Current.Dispatcher.Invoke(new Action(() => Mouse.OverrideCursor = Cursors.Null));