C# mvc中的ControllerContext在Parallel.ForEach中抛出错误#
我有一个返回字符串的函数,它有ControllerContext的参数,这是抛出错误 这是代码C# mvc中的ControllerContext在Parallel.ForEach中抛出错误#,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个返回字符串的函数,它有ControllerContext的参数,这是抛出错误 这是代码 var cContext = ControllerContext; Parallel.ForEach(listInvHeaderIDs, x => { body = new myClass().myFunctionReturnString(cContext); } 我们可以并行使用Controll
var cContext = ControllerContext;
Parallel.ForEach(listInvHeaderIDs, x =>
{
body = new myClass().myFunctionReturnString(cContext);
}
我们可以并行使用ControllerContext吗。Foreach如果不使用什么您可能可以尝试并行的
重载。Foreach
:
public static ParallelLoopResult ForEach<TSource, TLocal>(IEnumerable<TSource> source,
Func<TLocal> localInit, Func<TSource, ParallelLoopState, TLocal, TLocal> body,
Action<TLocal> localFinally)
错误是什么?是
ControllerContext
甚至线程安全吗?错误-未将对象引用设置为对象的实例,但未看到OP看到的错误,此答案纯粹是推测。其给定的错误委托“Action”不接受0参数
Parallel.ForEach(listInvHeaderIDs, () => {return cContext; },
(listId, loopInfo, ctrlContext) =>
{
body = new myClass().myFunctionReturnString(ctrlContext);
return ctrlContext;
},
(ctrlContext) => { /*access controller context if needed...*/} );