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

骑兵

我正在使用TPL在代码中创建新任务。所有这些都能很好地工作,并且性能有所提高。但是只要有HTTPContext对象,例如context.currentuser.iDentifier。此代码引发异常,表明HTTP上下文对象不可用。空引用异常。我想知道如何将上下文对象传递给任务对象吗?

瑜伽士

这是因为并行线程不在同一上下文中执行。您需要将其传递给SynchronizationContext在TPL中,您可以TaskScheduler.FromCurrentSynchronizationContext()用来传递上下文。

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 GitHub 操作运行 CI 时,生成任务和验证任务在根项目中不可用

来自分类Dev

为什么C#任务并行库代码比普通的for循环慢?

来自分类Dev

例程与任务并行库的实现

来自分类Dev

使用任务并行库Task.WhenAny()时如何处理异常

来自分类Dev

为什么原型在简单的JavaScript对象中不可用

来自分类Dev

转换异步方法以使用任务并行库

来自分类Dev

如何使用任务并行库发出许多HTTP请求

来自分类Dev

将实体框架与任务并行库结合使用

来自分类Dev

为什么任务不并行?

来自分类Dev

为什么使用* ngIf时模板局部变量在模板中不可用?

来自分类Dev

为什么我使用框架收到不可用的声明

来自分类Java

Java中的任务并行库的等效项

来自分类Dev

任务并行库中的线程数限制

来自分类Dev

任务并行库(TPL)中的线程同步

来自分类Dev

为什么变量不可用?

来自分类Dev

为什么线程2不可用?

来自分类Dev

任务并行库和长时间运行的任务

来自分类Dev

任务并行库异常句柄“任务已取消。”

来自分类Dev

使用sudo时别名不可用

来自分类Python

为什么在提交对象之前SQLAlchemy默认列值不可用?

来自分类Dev

我应该选择与任务并行库一起使用的简单Dictionary或ConcurrentDictionary

来自分类Dev

限制编号 Dns.BeginGetHostEntry方法每秒生成的请求数或使用任务并行库(TPL)

来自分类Dev

为什么用git签署提交时gpg-agent / pinentry不可用?

来自分类Dev

C++ 为什么 Traits 在对象上不可用,而是作为静态成员变量可用

来自分类Dev

任务并行库(TPL)是否处理竞争条件

来自分类Dev

在ContinueWith(anotherTask)+ C#任务并行库中共享变量

来自分类Dev

等待和异步与任务并行库之间的区别

来自分类Dev

如何处理任务并行库中的目录文件?

来自分类Dev

如何使用具有负载平衡和有限并行度的任务并行库(TPL)?

Related 相关文章

  1. 1

    使用 GitHub 操作运行 CI 时,生成任务和验证任务在根项目中不可用

  2. 2

    为什么C#任务并行库代码比普通的for循环慢?

  3. 3

    例程与任务并行库的实现

  4. 4

    使用任务并行库Task.WhenAny()时如何处理异常

  5. 5

    为什么原型在简单的JavaScript对象中不可用

  6. 6

    转换异步方法以使用任务并行库

  7. 7

    如何使用任务并行库发出许多HTTP请求

  8. 8

    将实体框架与任务并行库结合使用

  9. 9

    为什么任务不并行?

  10. 10

    为什么使用* ngIf时模板局部变量在模板中不可用?

  11. 11

    为什么我使用框架收到不可用的声明

  12. 12

    Java中的任务并行库的等效项

  13. 13

    任务并行库中的线程数限制

  14. 14

    任务并行库(TPL)中的线程同步

  15. 15

    为什么变量不可用?

  16. 16

    为什么线程2不可用?

  17. 17

    任务并行库和长时间运行的任务

  18. 18

    任务并行库异常句柄“任务已取消。”

  19. 19

    使用sudo时别名不可用

  20. 20

    为什么在提交对象之前SQLAlchemy默认列值不可用?

  21. 21

    我应该选择与任务并行库一起使用的简单Dictionary或ConcurrentDictionary

  22. 22

    限制编号 Dns.BeginGetHostEntry方法每秒生成的请求数或使用任务并行库(TPL)

  23. 23

    为什么用git签署提交时gpg-agent / pinentry不可用?

  24. 24

    C++ 为什么 Traits 在对象上不可用,而是作为静态成员变量可用

  25. 25

    任务并行库(TPL)是否处理竞争条件

  26. 26

    在ContinueWith(anotherTask)+ C#任务并行库中共享变量

  27. 27

    等待和异步与任务并行库之间的区别

  28. 28

    如何处理任务并行库中的目录文件?

  29. 29

    如何使用具有负载平衡和有限并行度的任务并行库(TPL)?

热门标签

归档