[英]c# Parallel.ForEach throwing indexOutOfBoundException
[英]ControllerContext throwing error in Parallel.ForEach in mvc c#
我有返回字符串的函数,并且它具有ControllerContext的参数,这会引发错误
这是代码
var cContext = ControllerContext;
Parallel.ForEach(listInvHeaderIDs, x =>
{
body = new myClass().myFunctionReturnString(cContext);
}
我们可以在Parallel.Foreach中使用ControllerContext吗?
您可能可以尝试Parallel.ForEach
此重载:
public static ParallelLoopResult ForEach<TSource, TLocal>(IEnumerable<TSource> source,
Func<TLocal> localInit, Func<TSource, ParallelLoopState, TLocal, TLocal> body,
Action<TLocal> localFinally)
使用
IEnumerable
上的线程本地数据执行foreach
操作,其中迭代可以并行运行,并且可以监视和操纵循环的状态。
用法示例:
UDPATE我已经更新了示例,现在应该可以了。
Parallel.ForEach(listInvHeaderIDs, () => {return cContext; },
(listId, loopInfo, ctrlContext) =>
{
body = new myClass().myFunctionReturnString(ctrlContext);
return ctrlContext;
},
(ctrlContext) => { /*access controller context if needed...*/} );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.