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

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

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

最佳答案

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

关于.net - 我可以(安全地)在ADO.NET数据服务中使用ThreadStatic属性吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1757048/

10-10 10:09