Windows phone 7 WindowsPhone |如何中断ThreadPool.QueueUserWorkItem
我正在使用Windows phone 7 WindowsPhone |如何中断ThreadPool.QueueUserWorkItem,windows-phone-7,threadpool,Windows Phone 7,Threadpool,我正在使用ThreadPool.QueueUserWorkItem执行异步任务,该任务通过HTTP发出POST请求 ThreadPool.QueueUserWorkItem(new WaitCallback(UploadPhoto), photoFileName); 现在,我想添加一个取消从用户界面上传的可能性 我有两个问题: 如何实现线程中断 ThreadPool是否适合我的目标 考虑使用在WP7上执行异步工作。您可以使用强制取消。这就是我做异步工作的方式。要实现中断,可以执行以下操作(使
ThreadPool.QueueUserWorkItem
执行异步任务,该任务通过HTTP
发出POST
请求
ThreadPool.QueueUserWorkItem(new WaitCallback(UploadPhoto), photoFileName);
现在,我想添加一个取消从用户界面上传的可能性
我有两个问题:
- 如何实现线程中断
是否适合我的目标ThreadPool
- 考虑使用在WP7上执行异步工作。您可以使用强制取消。这就是我做异步工作的方式。要实现中断,可以执行以下操作(使用任务):
ContinueWith子句将在第一个任务的主体完成后(以某种方式)链接另一个方法。ContinueWith方法的参数“result”是ContinueWith链接到的任务,任务“result”上有一个名为result的属性,该属性是前一个任务提供的返回值
var task = Task.Factory.StartNew( ( )=>
{
// some operation that will be cancelled
return "some value";
})
.ContinueWith( result =>
{
if(result.Status == TaskStatus.Cancelled) // you have other options here too
{
// handle the cancel
}
else
{
string val = result.Result; // will be "some value";
}
});