您好我已經讀了很多的論壇,但我無法找到答案我的問題......我怎樣才能取消任務沒有LOOP
這裏是我的功能,我想取消時布爾變成真:
Task<PortalODataContext> task = Task.Factory.StartNew(() =>
{
var context = connection.ConnectToPortal();
connection.ListTemplateLib = this.ShellModel.ConnectionManager.GetTemplateLibrarys(connection);
connection.ListTemplateGrp = this.ShellModel.ConnectionManager.GetTemplateGroups(connection, connection.TemplateLibraryId);
connection.ListTemplates = this.ShellModel.ConnectionManager.GetTemplates(connection, connection.TemplateGroupId);
return context;
}, token);
我該如何驗證令牌是否有沒有LOOP的取消請求?
類似的東西:
if (token.IsCancellationRequested)
{
Console.WriteLine("Cancelled before long running task started");
return;
}
for (int i = 0; i <= 100; i++)
{
//My operation
if (token.IsCancellationRequested)
{
Console.WriteLine("Cancelled");
break;
}
}
但是,我有一個需要循環,所以我不操作知道該怎麼做......
爲什麼不添加循環,所以我們遵循你的思路。 –
你走了;) – C1rdec
每次粒狀操作後取消測試 – Jcl