static void Main(string[] args) {
CancellationTokenSource cts = new CancellationTokenSource();
cts.CancelAfter(1000);
AsyncFactory.GetIntAsync(cts.Token).ContinueWith((task) => {
//We get the response.
//So dispose the CancellationTokenSource
//so that it is not going to signal.
cts.Dispose();
if (task.Status == TaskStatus.RanToCompletion) {
Console.WriteLine(task.Result);
}
else if (task.Status == TaskStatus.Canceled) {
Console.WriteLine("The task has been canceled.");
}
else {
Console.WriteLine("An error has been occurred. Details:");
Console.WriteLine(task.Exception.InnerException.Message);
}
});
Console.ReadLine();
}
}