问题标签 [callcontext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
847 浏览

c# - 处理线程静态变量

我有ThreadStatic一个静态类的成员。静态类用于多线程环境。我想确保当线程返回到线程池(或重新使用)时,成员被释放(或重新初始化),因此特定线程的任何后续使用都会获得变量的新副本。该成员必须保持静态,因此实例成员不会真正提供帮助。

我尝试过使用ThreadLocalAsyncLocalCallContext这些都没有真正的帮助。(CallContext主要用于概念验证,它是一个 .net 标准应用程序,因此 callcontext 无论如何都不起作用)。

这只是我为重新创建我的问题而编写的示例代码,用于ThreadStatic测试。ThreadLocalAsyncLocalCallContext

上面的代码在单个线程中运行,因此可以重复使用该线程。

但是,从输出中可以看出,当进行第二次调用并重用线程 1 时,它仍然具有线程 0 设置的值。

ThreadStatic重新使用线程时,有什么方法可以将变量重置为默认值或 null?

0 投票
0 回答
33 浏览

c# - C# CallContext 类可以存储2个键?

现有代码:

d1 只设置一次。比它从 GetData 方法获得的。

我为第二个数据库连接创建了类似的。但是 d2 总是为空。为什么我不能从 GetData 方法获得 d2?我的意思是每次 d2 都用 SetData 方法填充。

0 投票
0 回答
374 浏览

.net - .NET Core 中调用上下文的替代方案

我了解 .Net Core 不支持调用上下文。但是我们的应用程序使用相同的,我们计划将其迁移到 .Net Core。我正在尝试在 Dotnetcore Web 应用程序中维护父线程及其子线程之间的数据。我需要在其中存储父线程的 Web 应用程序名称和 Web 请求 URL,并且需要在其子线程开始执行时使用它。即使父线程在其子线程开始执行之前完成其执行,我也需要维护父数据。我尝试过执行上下文、异步本地、线程本地/静态来维护父线程和子线程之间的数据,但没有帮助。

任何人都可以在.Net Core 中向我们建议替代(或)平等方法吗?

System.Runtime.Remoting.Messaging ==> 类 CallContext

谁能向我们建议CallContext.LogicalSetData()CallContext.LogicalGetData()的替代方法

提前致谢。

0 投票
2 回答
53 浏览

.net - Dotnetcore 中父线程和子线程之间的数据流

我正在尝试在 .NET Core Web 应用程序中维护父线程及其子线程之间的数据。

我需要在其中存储父线程的 Web 应用程序名称和 Web 请求 URL,并且需要在其子线程开始执行时使用它。即使父线程在其子线程开始执行之前完成其执行,我也需要维护父数据。我尝试过执行上下文、同步本地、线程本地/静态来维护父线程和子线程之间的数据,但没有帮助。

  1. 任何人都可以建议在 .NET Core 中维护父线程及其子线程之间的数据的方式/方式。
  2. 在 .NET Framework 中,我找到了CallContext.LogicalSetData()and CallContext.LogicalGetData(),但 .NET Core 不支持Call Context.

任何人都可以在.Net Core 中向我们建议一种替代方法吗?
System.Runtime.Remoting.Messaging==> 类 CallContext

提前致谢。