.NET 4.0:如何在线程执行后清理归因于 threadstatic 的对象引用?

发布于 2024-12-10 18:20:45 字数 178 浏览 0 评论 0原文

我在 ASP.NET Web 表单代码隐藏中有一个静态连接变量。在页面加载事件中,我在单独的线程中执行多个方法。每个线程都使用该连接对象的一个​​线程静态实例。我想要做的是,在页面的 dispose 事件中,一次性清除该连接变量的所有静态实例。如果这是不可能的,那么我只需在每个方法末尾关闭连接,但如果可能的话,我想用一行代码来处理所有这些。

I have a static connection variable in an ASP.NET webform codebehind. In the page load event, I am executing several methods in separate threads. Each thread utilizes a threadstatic instance of this connection object. What I want to do is, in the page's dispose event, clean out all static instances of that one connection variable all at once. If this is not possible then I will just have to close the connections at the end of each method, but I'd like to handle it all in one line of code if possible.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

香草可樂 2024-12-17 18:20:45

这实际上不可能用一行代码来完成。该页面的 Dispose 事件在特定线程上执行,因此只能访问 ThreadStatic 值的实例之一。

您需要在每个创建的使用该值的线程结束时处理每个实例。

It's not really possible to do in a single line of code. The page's Dispose event executes on a specific thread and hence only has access to one of the instances of the ThreadStatic value.

You need to dispose of every instance at the conclusion of every created thread which utilizes the value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文