.NET Core中如何通过AsyncLocal实现异步任务间的变量共享?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2293个文字,预计阅读时间需要10分钟。
前言:在Web应用程序中,我们经常会遇到这样的场景,如用户信息、租赁信息等本次的请求过程中都是固定的,我们希望这种信息在本次请求内,一次性赋值,直到使用。本文就来探讨一赋值到死的原理和应用。
前言在Web 应用程序中,我们经常会遇到这样的场景,如用户信息,租户信息本次的请求过程中都是固定的,我们希望是这种信息在本次请求内,一次赋值,到处使用。本文就来探讨一下,如何在.NET Core 下去利用AsyncLocal 实现全局共享变量。
简介我们如果需要整个程序共享一个变量,我们仅需将该变量放在某个静态类的静态变量上即可(不满足我们的需求,静态变量上,整个程序都是固定值)。我们在Web 应用程序中,每个Web 请求服务器都为其分配了一个独立线程,如何实现用户,租户等信息隔离在这些独立线程中。这就是今天要说的线程本地存储。针对线程本地存储 .NET 给我们提供了两个类 ThreadLocal 和 AsyncLocal。
本文共计2293个文字,预计阅读时间需要10分钟。
前言:在Web应用程序中,我们经常会遇到这样的场景,如用户信息、租赁信息等本次的请求过程中都是固定的,我们希望这种信息在本次请求内,一次性赋值,直到使用。本文就来探讨一赋值到死的原理和应用。
前言在Web 应用程序中,我们经常会遇到这样的场景,如用户信息,租户信息本次的请求过程中都是固定的,我们希望是这种信息在本次请求内,一次赋值,到处使用。本文就来探讨一下,如何在.NET Core 下去利用AsyncLocal 实现全局共享变量。
简介我们如果需要整个程序共享一个变量,我们仅需将该变量放在某个静态类的静态变量上即可(不满足我们的需求,静态变量上,整个程序都是固定值)。我们在Web 应用程序中,每个Web 请求服务器都为其分配了一个独立线程,如何实现用户,租户等信息隔离在这些独立线程中。这就是今天要说的线程本地存储。针对线程本地存储 .NET 给我们提供了两个类 ThreadLocal 和 AsyncLocal。

