gpt4 book ai didi

.net - 将 ObjectContext 存储在 ASP.NET 中的线程静态变量中是否安全?

转载 作者:行者123 更新时间:2023-12-01 08:20:13 24 4
gpt4 key购买 nike

我读过我应该存储一个 ObjectContextHttpContext.Current为了分享我的ObjectContext跨请求中调用的不同服务/存储库。我想知道使用 ObjectContext 是否安全与 [ThreadStatic] static 上的属性类变量代替。这样做安全吗?每个请求都在自己的线程中处理吗?

最佳答案

不,同一个线程可以有多个请求,更重要的是,一个请求可以在多个线程中处理。这称为线程敏捷性,当您将内容存储在线程静态变量而不是 Context 中时,您会遇到问题:当 ASP.NET 在同一请求期间从一个线程移动到另一个线程时,HttpContext 仍然可以访问,但线程-static 变量不是。

一些包含更多信息的链接:

  • CallContext vs ThreadStatic (相关问题)
  • http://piers7.blogspot.com/2005/11/threadstatic-callcontext-and_02.html (包含详细信息的博客条目)
  • 关于.net - 将 ObjectContext 存储在 ASP.NET 中的线程静态变量中是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1785119/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com