gpt4 book ai didi

.net - 为什么在使用任务并行库任务时 httpcontext 对象不可用?

转载 作者:行者123 更新时间:2023-12-01 11:21:44 25 4
gpt4 key购买 nike

我正在使用 TPL 在我的代码中创建新任务。一切都很好,性能也有所提高。但是只要有像 context.currentuser.iDentifier 这样的 HTTPContext 对象。此代码抛出一个异常,指出 HTTP 上下文对象不可用。空引用异常。我想知道如何将上下文对象传递给任务对象?

最佳答案

这是因为并行线程没有在同一个上下文中执行。您需要通过 SynchronizationContext它。在 TPL 中,您可以使用 TaskScheduler.FromCurrentSynchronizationContext() 传递上下文。

在我的一个项目中,我做了这样的事情 -

 Task.Factory.StartNew(() => MyMethod(),
CancellationToken.None,
TaskCreationOptions.None,
TaskScheduler.FromCurrentSynchronizationContext());

关于.net - 为什么在使用任务并行库任务时 httpcontext 对象不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41633476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com