【发布时间】:2025-12-03 05:00:02
【问题描述】:
谁能推荐我如何将Task.WhenAll 应用于以下代码
foreach (DataRow row in sap_tickets.Rows)
{
//#EDIT This is the beginning of the task i want to execute
picklist = row["absentry"].ToString();
try
{
//call webservice here
string response = await Ut.updateFulfilment(row["order_number"].ToString());
}
catch (Exception)
{
//log error to DB
Ut.FlagOff(picklist, CommonEnums.FLAG_OFF_TYPE.ERROR.ToString());
}
//This is the end of the task i want to execute
}
编辑
我的任务由存在于 foreach 循环中的代码组成 他们可以安全地多次调用
【问题讨论】:
-
@Edwin:通常,有比在循环中使用
Task.WhenAll更好的方法。你到底想做什么? -
@stuartd 我已经编辑了问题以表明这一点
-
@StephenCleary 我正在尝试以并行方式执行存在于 foreach 循环主体中的代码
-
如果你想同时运行这些,
Ut.updateFulfilment(在第一次调用完成之前多次调用是否安全? -
是的@ScottChamberlain 多次调用是安全的
标签: c# async-await task parallel.foreach