Microsoft.Extensions.AsyncState
                              
                            
                                9.10.0
                            
                        
                            
                                
                                
                                    Prefix Reserved
                                
                            
                    dotnet add package Microsoft.Extensions.AsyncState --version 9.10.0
NuGet\Install-Package Microsoft.Extensions.AsyncState -Version 9.10.0
<PackageReference Include="Microsoft.Extensions.AsyncState" Version="9.10.0" />
<PackageVersion Include="Microsoft.Extensions.AsyncState" Version="9.10.0" />
<PackageReference Include="Microsoft.Extensions.AsyncState" />
paket add Microsoft.Extensions.AsyncState --version 9.10.0
#r "nuget: Microsoft.Extensions.AsyncState, 9.10.0"
#:package Microsoft.Extensions.AsyncState@9.10.0
#addin nuget:?package=Microsoft.Extensions.AsyncState&version=9.10.0
#tool nuget:?package=Microsoft.Extensions.AsyncState&version=9.10.0
Microsoft.Extensions.AsyncState
This provides the ability to store and retrieve objects that flow with the current asynchronous context.
It has a few advantages over using the AsyncLocal<T> class directly:
- By abstracting the way the ambient data is stored we can use more optimized implementations, for instance when using ASP.NET Core, without exposing these components.
 - Improves the performance by minimizing the number of 
AsyncLocal<T>instances required when multiple objects are shared. - Provides a way to manage the lifetime of the ambient data objects.
 
Please note, the implementations of IAsyncState and IAsyncContext<T> are not thread-safe.
Install the package
From the command-line:
dotnet add package Microsoft.Extensions.AsyncState
Or directly in the C# project file:
<ItemGroup>
  <PackageReference Include="Microsoft.Extensions.AsyncState" Version="[CURRENTVERSION]" />
</ItemGroup>
Usage Example
Registering Services
The services can be registered using the following method:
public static IServiceCollection AddAsyncState(this IServiceCollection services)
Consuming Services
The IAsyncContext<T> can be injected wherever async state is needed. For example:
public class MyClass
{
  public MyClass(IAsyncContext<MyState> asyncContext) { Context = asyncContext }
  private IAsyncContext<MyState> Context { get; }
  public async Task DoWork()
  {
    var state = Context.Get();
    // or
    Context.Set(new MyState());
    // or
    if (Context.TryGet(out var state)) { ... }
  }
}
Feedback & Contributing
We welcome feedback and contributions in our GitHub repo.
| Product | Versions Compatible and additional computed target framework versions. | 
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. | 
| .NET Framework | net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. | 
- 
                                                    
.NETFramework 4.6.2
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
 - Microsoft.Extensions.DependencyInjection.AutoActivation (>= 9.10.0)
 - Microsoft.Extensions.ObjectPool (>= 8.0.21)
 
 - 
                                                    
net8.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
 - Microsoft.Extensions.DependencyInjection.AutoActivation (>= 9.10.0)
 - Microsoft.Extensions.ObjectPool (>= 8.0.21)
 
 - 
                                                    
net9.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.10)
 - Microsoft.Extensions.DependencyInjection.AutoActivation (>= 9.10.0)
 - Microsoft.Extensions.ObjectPool (>= 9.0.10)
 
 
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Microsoft.Extensions.AsyncState:
| Package | Downloads | 
|---|---|
| 
                                                        
                                                            Microsoft.AspNetCore.AsyncState
                                                        
                                                            
                                                         ASP.NET initializer for async state.  | 
                                                    
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | 
|---|---|---|
| 9.10.0 | 296 | 10/14/2025 | 
| 9.9.0 | 3,145 | 9/9/2025 | 
| 9.8.0 | 316 | 8/12/2025 | 
| 9.7.0 | 1,208 | 7/8/2025 | 
| 9.6.0 | 2,441 | 6/10/2025 | 
| 9.5.0 | 2,091 | 5/13/2025 | 
| 9.4.0 | 742 | 4/8/2025 | 
| 9.3.0 | 2,634 | 3/11/2025 | 
| 9.2.0 | 1,067 | 2/11/2025 | 
| 9.1.0 | 489 | 1/14/2025 | 
| 9.0.0 | 4,303 | 11/12/2024 | 
| 9.0.0-preview.9.24507.7 | 227 | 10/8/2024 | 
| 9.0.0-preview.8.24460.1 | 128 | 9/10/2024 | 
| 9.0.0-preview.7.24412.10 | 115 | 8/14/2024 | 
| 9.0.0-preview.6.24353.1 | 186 | 7/10/2024 | 
| 9.0.0-preview.5.24311.7 | 127 | 6/11/2024 | 
| 9.0.0-preview.4.24271.2 | 135 | 5/21/2024 | 
| 9.0.0-preview.3.24209.3 | 141 | 4/11/2024 | 
| 9.0.0-preview.2.24157.4 | 149 | 3/12/2024 | 
| 9.0.0-preview.1.24108.1 | 151 | 2/13/2024 | 
| 8.10.0 | 791 | 10/8/2024 | 
| 8.9.1 | 446 | 9/6/2024 | 
| 8.9.0 | 356 | 9/5/2024 | 
| 8.8.0 | 1,073 | 8/13/2024 | 
| 8.7.0 | 773 | 7/10/2024 | 
| 8.6.0 | 357 | 6/11/2024 | 
| 8.5.0 | 381 | 5/14/2024 | 
| 8.4.0 | 731 | 4/9/2024 | 
| 8.3.0 | 551 | 3/12/2024 | 
| 8.2.0 | 708 | 2/13/2024 | 
| 8.1.0 | 825 | 1/9/2024 | 
| 8.0.0 | 1,330 | 11/14/2023 | 
| 8.0.0-rc.2.23510.2 | 177 | 10/10/2023 | 
| 8.0.0-rc.1.23453.1 | 171 | 9/12/2023 | 
| 8.0.0-preview.7.23407.5 | 170 | 8/8/2023 | 
| 8.0.0-preview.6.23360.2 | 159 | 7/12/2023 | 
| 8.0.0-preview.5.23308.3 | 158 | 6/14/2023 | 
| 8.0.0-preview.4.23273.7 | 182 | 5/23/2023 |