我可以(安全地)在ADO.NET数据服务中使用ThreadStatic属性吗?
我想在ADO.NET数据服务中存储每个线程的数据。在特定于线程的静态变量上使用ThreadStatic属性安全吗,还是会遇到问题?我担心的是,在请求完成且线程死亡后,不会对ThreadStatic变量进行垃圾收集 如果有更好的方法来做我想做的事情,请告诉我。这似乎是最简单的解决方案我可以(安全地)在ADO.NET数据服务中使用ThreadStatic属性吗?,.net,multithreading,garbage-collection,wcf-data-services,threadstatic,.net,Multithreading,Garbage Collection,Wcf Data Services,Threadstatic,我想在ADO.NET数据服务中存储每个线程的数据。在特定于线程的静态变量上使用ThreadStatic属性安全吗,还是会遇到问题?我担心的是,在请求完成且线程死亡后,不会对ThreadStatic变量进行垃圾收集 如果有更好的方法来做我想做的事情,请告诉我。这似乎是最简单的解决方案 任何信息都会非常有用,谢谢 使用ThreadStatic标记的任何变量的生存期至少与创建它们的线程的生存期相同。在该线程终止后,它们将像任何其他值一样接受垃圾收集 我发现为每个请求创建的DataService对象位于
任何信息都会非常有用,谢谢 使用
ThreadStatic
标记的任何变量的生存期至少与创建它们的线程的生存期相同。在该线程终止后,它们将像任何其他值一样接受垃圾收集 我发现为每个请求创建的DataService对象位于标有IsThreadPoolThread=true
的线程上,因此在这种情况下使用[ThreadStatic]
属性是不合适的,因为以前请求的信息可能会被以后的请求获得(不可取)