我有返回字符串的函数,它有ControllerContext的参数,这是抛出错误
这是代码
var cContext = ControllerContext;
Parallel.ForEach(listInvHeaderIDs, x =>
{
body = new myClass().myFunctionReturnString(cContext);
}
我们可以在Parallel.Foreach中使用 ControllerContext ,如果不是使用什么
答案 0 :(得分:-1)
您可以尝试Parallel.ForEach
的重载:
public static ParallelLoopResult ForEach<TSource, TLocal>(IEnumerable<TSource> source,
Func<TLocal> localInit, Func<TSource, ParallelLoopState, TLocal, TLocal> body,
Action<TLocal> localFinally)
使用
foreach
上的线程局部数据执行IEnumerable
操作,其中迭代可以并行运行,并且可以监视和操作循环的状态。
使用示例:
<强> UDPATE 强> 我已经更新了这个例子,现在应该没问题了。
Parallel.ForEach(listInvHeaderIDs, () => {return cContext; },
(listId, loopInfo, ctrlContext) =>
{
body = new myClass().myFunctionReturnString(ctrlContext);
return ctrlContext;
},
(ctrlContext) => { /*access controller context if needed...*/} );