3

我想将每线程数据存储在 ADO.NET 数据服务中。在我的线程特定的静态变量上使用 ThreadStatic 属性是否安全,或者我会遇到问题?我担心的是,在请求完成并且线程死亡后,我的 ThreadStatic 变量不会被垃圾收集。

如果有更好的方法来做我想做的事情,请告诉我。这似乎是最简单的解决方案。

任何信息都会非常有帮助,谢谢!

4

2 回答 2

3

我发现为每个请求创建的 DataService 对象位于标有 的线程上IsThreadPoolThread = true,因此在这种情况下使用该[ThreadStatic]属性是不合适的,因为来自先前请求的信息可能会被以后的请求提供(不希望)。

于 2009-11-23T15:18:45.307 回答
0

任何带有标签的变量ThreadStatic的生命周期至少与创建它们的线程一样长。在 Thread 终止之后,它们会像任何其他值一样受到垃圾回收的影响。

于 2009-11-18T16:13:29.110 回答