2010-10-14 134 views
3

是否有取消Async System.Threading.Tasks.Task的方法?即在異步任務中使用取消

Task.Factory.FromAsync(
    client.BeginCallWebService, 
    client.EndCallWebService, 
    "param1", 
    null); 

我想這個任務註冊一個共享的CancellationToken,這樣如果調用此異步任務之前令牌被取消,也不會被調用。

感謝

+3

我回滾問題的原始版本。最近的編輯偏離了OP的原意,與他們接受的答案不相符。 – Douglas 2014-07-27 12:36:11

回答

2

因此,擁有多放一些想進入這個我想取消一個異步任務是沒有意義的開始部分將被調用「內聯」是,是馬上調用線程上。

因此,沒有必要以這種方式支持取消。

如果你想真正放棄處理呼叫(例如一個Web服務,或者使用Web客戶端),你可以實現一個TaskCompletionSource方法,而不是作爲記錄在這裏:http://msdn.microsoft.com/en-us/library/ee622454.aspx

對不起,回答我的問題,我猜測這有點不好。