Tôi bắt đầu nhiệm vụ WPF với cách dưới đâyTrạng thái tác vụ WaitingForActivation - điều này có nghĩa là gì?
var newTask = Task.Factory.StartNew(() =>
{
fcStartSubPageCrawl(srMainSiteURL, srMainSiteId);
}).ContinueWith((t) =>
{
var aggException = t.Exception.Flatten();
foreach (var exception in aggException.InnerExceptions)
csPages.LogException(exception.ToString());
},
TaskContinuationOptions.OnlyOnFaulted);
Bây giờ khi tôi kiểm tra tình trạng nhiệm vụ
như thế này (nhiệm vụ mới được giao cho danh sách công việc):
if (tskLocalTaskList[i].IsCompleted == false)
tôi nhìn thấy trạng thái tác vụ = WaitingForActivation
điều này có nghĩa là gì? Và tại sao nó đang chờ kích hoạt?
C# 4.0 WPF
Làm cách nào để bắt đầu tác vụ ngay lập tức? – MonsterMMORPG
Điều này là do tuyên bố của bạn ContinueWith. Điều này tạo ra một nhiệm vụ mới mà bạn gán cho var newTask. Tuy nhiên, nhiệm vụ này không bao giờ được lên lịch hoặc chạy khi tác vụ gốc sẽ không dẫn đến một ngoại lệ. trước tiên bạn phải gán nhiệm vụ ban đầu cho newTask và sau đó gọi newTask.ContinueWith (...., TaskContinuationOptions.OnlyOnFaulted); – Polity
cảm ơn câu trả lời. cách hiện tại của tôi cũng đang hoạt động. nó không giống như chờ đợi mãi mãi. tuy nhiên tôi đã sửa đổi mã như bạn đã nói và bây giờ tôi kiểm tra xem tôi có đang chạy hay không. mặc dù tôi không cảm thấy sự khác biệt về tốc độ. vẫn vậy. đây là về việc thu thập thông tin các trang web. – MonsterMMORPG