আমি এই উইন্ডোজ 8 উইনআরটি টাস্কগুলির সাথে খেলছি এবং আমি নীচের পদ্ধতিটি ব্যবহার করে কোনও টাস্ক বাতিল করার চেষ্টা করছি এবং এটি কিছুটা হলেও কার্যকর। বাতিলকরণ সংক্রান্ত পদ্ধতিটি কল হয়ে যায়, যা আপনাকে মনে করে যে কার্যটি বাতিল হয়ে গেছে, কিন্তু পটভূমিতে কাজটি চলতে থাকবে, তারপরে এটি শেষ হওয়ার পরে, কার্যটির স্থিতি সর্বদা সম্পন্ন হয় এবং কখনই বাতিল হয় না। কাজটি বাতিল হয়ে যাওয়ার পরে কি পুরোপুরি থামার কোনও উপায় আছে?
private async void TryTask()
{
CancellationTokenSource source = new CancellationTokenSource();
source.Token.Register(CancelNotification);
source.CancelAfter(TimeSpan.FromSeconds(1));
var task = Task<int>.Factory.StartNew(() => slowFunc(1, 2), source.Token);
await task;
if (task.IsCompleted)
{
MessageDialog md = new MessageDialog(task.Result.ToString());
await md.ShowAsync();
}
else
{
MessageDialog md = new MessageDialog("Uncompleted");
await md.ShowAsync();
}
}
private int slowFunc(int a, int b)
{
string someString = string.Empty;
for (int i = 0; i < 200000; i++)
{
someString += "a";
}
return a + b;
}
private void CancelNotification()
{
}