繁体   English   中英

MVC C#中Parallel.ForEach中的ControllerContext抛出错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM