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";
          }
      });