我正在使用TPL在我的代码中创建新任务.一切都适用于提高性能.但每当有像context.currentuser.iDentifier这样的HTTPContext对象时.此代码抛出一个异常,说HTTP Context对象不可用.空引用异常.我想知道如何将上下文对象传递给任务对象?
这是因为并行线程没有在相同的上下文中执行.您需要传递SynchronizationContext.在TPL中,您可以使用TaskScheduler.FromCurrentSynchronizationContext()
传递上下文.
在我的一个项目中,我做到了这样的事情 -
Task.Factory.StartNew(() => MyMethod(), CancellationToken.None, TaskCreationOptions.None, TaskScheduler.FromCurrentSynchronizationContext());