У меня есть WCF-коннектор, который должен получить для меня небольшой объем данных, обычно для получения этих данных для каждого элемента требуется до 20 секунд (что хорошо). Я хочу использовать Task для получения данных для меня, а затем добавлять элементы управления WinForm со значениями из этих задач.
Я создал список объектов, которые будут содержать эти данные.
Используется первая задача как та, которая обновляет список, и я хочу, чтобы Task была сразу после первой задачи для создания элементов управления.
Это код до сих пор:
List<IpVersionCounter> ipVersionCounters = new List<IpVersionCounter>();
Task task = Task.Factory.StartNew(() =>
{
foreach (var sitein settings.Sites)
{
string ip = site.ip;
string version = "undefined";
using (WcfConnector wcfConnector =
WcfConnector.CreateConnectorWithoutException((ip)))
{
if (wcfConnector != null)
{
version= string.Format("{0} {1} {2}",
wcfConnector.VersionController.GetBranchName(),
wcfConnector.VersionController.GetBuildNumber(),
wcfConnector.VersionController.GetCurrentVersion());
}
}
counter++;
ipVersionCounters.Add(new IpVersionCounter
{
Ip = ip,
Version = Version,
Counter = counter
});
}
return ipVersionCounters;
}).ContinueWith();
AddProgressBar(ipVersionCounter);
Я не знаю, правильно ли я иду и как использовать ContinueWith для передачи значения от первого метода до второго.