Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以(安全地)在ADO.NET数据服务中使用ThreadStatic属性吗?_.net_Multithreading_Garbage Collection_Wcf Data Services_Threadstatic - Fatal编程技术网

我可以(安全地)在ADO.NET数据服务中使用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对象位于

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

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


任何信息都会非常有用,谢谢

使用
ThreadStatic
标记的任何变量的生存期至少与创建它们的线程的生存期相同。在该线程终止后,它们将像任何其他值一样接受垃圾收集

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