首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CallContext对ThreadStatic

CallContext对ThreadStatic
EN

Stack Overflow用户
提问于 2008-11-07 19:26:11
回答 2查看 22.3K关注 0票数 54

CallContext和ThreadStatic有什么区别?

我已经了解到,在ASP.NET环境中,存储在CallContext中的数据可以在整个请求中持久化,直到它结束为止,而ThreadStatic可能工作,也可能不工作,因为请求可能切换线程。我还了解到,HttpContext是使用CallContext在内部存储的。

在一个常规应用程序中,它们似乎都在同一个线程调用中持久化。这不是什么时候的事吗?

编辑:我在评论中了解到调用上下文是线程静态存储的抽象。ASP.NET框架显式地将数据从一个线程移动到另一个线程,即处理一个请求。其他希望提供线程敏捷性的框架也可以用于上下文存储。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-11-07 19:29:21

通常情况下,请求在整个过程中都会使用相同的线程,但情况并不总是如此-- ASP.NET显示了线程的敏捷性。有一个旧的关于此事的深入博客文章从2005年,但截至.NET 4.5 情况要好得多

票数 35
EN

Stack Overflow用户

发布于 2008-11-07 19:32:41

存储为ThreadStatic的项可用于多个请求。IIS在请求完成后重用线程来处理后续的请求,甚至可以在处理过程中将请求从一个线程交换到另一个线程。ASP.Net在每次请求之后清除CallContext。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/273301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档