【发布时间】:2010-09-21 08:38:50
【问题描述】:
CallContext 和 ThreadStatic 有什么区别?
我了解到,在 ASP.NET 环境中,存储在 CallContext 中的数据可能会在整个请求中持续存在,直到请求结束,而 ThreadStatic 可能会或可能不会工作,因为请求可能会切换线程。我还了解到 HttpContext 是使用 CallContext 在内部存储的。
在常规应用程序中,它们似乎都在同一个线程调用中持续存在。什么时候不是这样?
编辑: 在 cmets 中,我了解到调用上下文是对线程静态存储的抽象。 ASP.NET 框架将数据从一个线程显式移动到下一个线程以处理一个请求。其他想要提供线程敏捷性的框架可以对上下文存储执行相同的操作。
【问题讨论】: