gpt4 book ai didi

c# - 如果我不能在 C# 异步编程中使用 TLS,我可以使用什么?

转载 作者:太空狗 更新时间:2023-10-30 01:34:04 25 4
gpt4 key购买 nike

我目前的做法是在 TLS 中拥有一大堆上下文信息。

阅读有关执行上下文捕获的 MSDN 文章 ( http://blogs.msdn.com/b/pfxteam/archive/2012/06/15/executioncontext-vs-synchronizationcontext.aspx) 似乎

a) 我不能依赖在我开始的同一个线程上继续运行

b) TLS 没有克隆到继续的上下文中

那么我能做什么(除了重新设计整个系统以不使用隐式绑定(bind)到执行路径的上下文)。我可以将自定义数据添加到将被捕获的执行上下文吗?

我在使用 TPL 时遇到了类似的问题,在这种情况下,我编写了自己的包装函数,将 TLS 克隆到 TPL 生成的 worker 中

最佳答案

如果您使用的是 .NET 4.6,则可以使用 AsyncLocal类。

关于c# - 如果我不能在 C# 异步编程中使用 TLS,我可以使用什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31953846/

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