Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static void Main(string[] args)
- {
- CancellationTokenSource cts = new CancellationTokenSource();
- cts.CancelAfter(100);//отменяет задачу после указанного числа миллисекунд
- var res = TaskWrap(cts.Token);//функции с поддержками тасков обычно имеют перегрузку с CancellationToken
- Console.WriteLine(res.Result);
- }
- static Task<string> TaskWrap(CancellationToken ct)
- {
- TaskCompletionSource<string> tcs = new TaskCompletionSource<string>();
- ct.Register(()=> {/* остановить загрузку, чтоб данные больше приходили, если это возможно*/ tcs.SetException(new TimeoutException()); });
- //YourFunctionCallback(answer => tcs.SetResult(answer));
- return tcs.Task;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement