Aspire.Hosting.Azure.Redis
9.3.1
Prefix Reserved
dotnet add package Aspire.Hosting.Azure.Redis --version 9.3.1
NuGet\Install-Package Aspire.Hosting.Azure.Redis -Version 9.3.1
<PackageReference Include="Aspire.Hosting.Azure.Redis" Version="9.3.1" />
<PackageVersion Include="Aspire.Hosting.Azure.Redis" Version="9.3.1" />
<PackageReference Include="Aspire.Hosting.Azure.Redis" />
paket add Aspire.Hosting.Azure.Redis --version 9.3.1
#r "nuget: Aspire.Hosting.Azure.Redis, 9.3.1"
#addin nuget:?package=Aspire.Hosting.Azure.Redis&version=9.3.1
#tool nuget:?package=Aspire.Hosting.Azure.Redis&version=9.3.1
Aspire.Hosting.Azure.Redis library
Provides extension methods and resource definitions for a .NET Aspire AppHost to configure Azure Cache for Redis.
Getting started
Prerequisites
- Azure subscription - create one for free
Install the package
In your AppHost project, install the Aspire.Hosting.Azure.Redis
library with NuGet:
dotnet add package Aspire.Hosting.Azure.Redis
Configure Azure Provisioning for local development
Adding Azure resources to the .NET Aspire application model will automatically enable development-time provisioning for Azure resources so that you don't need to configure them manually. Provisioning requires a number of settings to be available via .NET configuration. Set these values in user secrets in order to allow resources to be configured automatically.
{
"Azure": {
"SubscriptionId": "<your subscription id>",
"ResourceGroupPrefix": "<prefix for the resource group>",
"Location": "<azure location>"
}
}
NOTE: Developers must have Owner access to the target subscription so that role assignments can be configured for the provisioned resources.
Usage example
Then, in the AppHost.cs file of AppHost
, register a Redis server and consume the connection using the following methods:
var redis = builder.AddAzureRedis("cache");
var myService = builder.AddProject<Projects.MyService>()
.WithReference(redis);
The WithReference
method configures a connection in the MyService
project named cache
. By default, AddAzureRedis
configures Microsoft Entra ID authentication. This requires changes to applications that need to connect to these resources. In the Program.cs file of MyService
, the redis connection can be consumed using the client library Aspire.StackExchange.Redis and Microsoft.Azure.StackExchangeRedis:
var azureOptionsProvider = new AzureOptionsProvider();
var configurationOptions = ConfigurationOptions.Parse(builder.Configuration.GetConnectionString("cache") ?? throw new InvalidOperationException("Could not find a 'cache' connection string."));
if (configurationOptions.EndPoints.Any(azureOptionsProvider.IsMatch))
{
await configurationOptions.ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());
}
builder.AddRedisClient("cache", configureOptions: options =>
{
options.Defaults = configurationOptions.Defaults;
});
Additional documentation
- https://stackexchange.github.io/StackExchange.Redis/Basics
- https://github.com/dotnet/aspire/tree/main/src/Components/README.md
Feedback & contributing
https://github.com/dotnet/aspire
*Redis is a registered trademark of Redis Ltd. Any rights therein are reserved to Redis Ltd.
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 was computed. 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. |
-
net8.0
- Aspire.Hosting.Azure (>= 9.3.1)
- Aspire.Hosting.Azure.KeyVault (>= 9.3.1)
- Aspire.Hosting.Redis (>= 9.3.1)
- AspNetCore.HealthChecks.Redis (>= 9.0.0)
- AspNetCore.HealthChecks.Uris (>= 9.0.0)
- Azure.Core (>= 1.46.0)
- Azure.Identity (>= 1.13.2)
- Azure.Provisioning (>= 1.0.0)
- Azure.Provisioning.KeyVault (>= 1.0.0)
- Azure.Provisioning.Redis (>= 1.0.0)
- Azure.ResourceManager.Authorization (>= 1.1.4)
- Azure.ResourceManager.KeyVault (>= 1.3.2)
- Azure.ResourceManager.Resources (>= 1.9.1)
- Azure.Security.KeyVault.Secrets (>= 4.7.0)
- Google.Protobuf (>= 3.30.2)
- Grpc.AspNetCore (>= 2.71.0)
- Grpc.Net.ClientFactory (>= 2.71.0)
- Grpc.Tools (>= 2.72.0)
- Humanizer.Core (>= 2.14.1)
- JsonPatch.Net (>= 3.3.0)
- KubernetesClient (>= 16.0.7)
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 8.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 8.0.15)
- Microsoft.Extensions.Hosting (>= 8.0.1)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.1)
- Microsoft.Extensions.Http (>= 8.0.1)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.3)
- Microsoft.Extensions.Options (>= 8.0.2)
- Microsoft.Extensions.Primitives (>= 8.0.0)
- Newtonsoft.Json (>= 13.0.3)
- Polly.Core (>= 8.5.2)
- StackExchange.Redis (>= 2.8.37)
- StreamJsonRpc (>= 2.21.69)
- System.IO.Hashing (>= 9.0.4)
- System.Text.Json (>= 8.0.5)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Aspire.Hosting.Azure.Redis:
Package | Downloads |
---|---|
CommunityToolkit.Aspire.Hosting.Azure.Dapr.Redis
Package Description |
|
CommunityToolkit.Aspire.Hosting.Dapr.AzureRedis
Package Description |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on Aspire.Hosting.Azure.Redis:
Repository | Stars |
---|---|
CommunityToolkit/Aspire
A community project with additional components and extensions for .NET Aspire
|
|
foxminchan/BookWorm
The practical implementation of .NET Aspire using Microservices
|
Version | Downloads | Last updated | |
---|---|---|---|
9.3.1 | 315 | 6/10/2025 | |
9.3.0 | 5,537 | 5/19/2025 | |
9.2.1 | 4,696 | 4/24/2025 | |
9.2.0 | 6,393 | 4/10/2025 | |
9.1.0 | 16,689 | 2/25/2025 | |
9.0.0 | 19,318 | 11/12/2024 | |
9.0.0-rc.1.24511.1 | 1,721 | 10/15/2024 | |
8.2.2 | 3,248 | 10/24/2024 | |
8.2.1 | 1,605 | 9/26/2024 | |
8.2.0 | 4,007 | 8/29/2024 | |
8.1.0 | 2,549 | 7/23/2024 | |
8.0.2 | 1,742 | 6/28/2024 | |
8.0.1 | 2,358 | 5/21/2024 | |
8.0.0 | 340 | 5/21/2024 | |
8.0.0-preview.7.24251.11 | 435 | 5/7/2024 | |
8.0.0-preview.6.24214.1 | 2,765 | 4/23/2024 | |
8.0.0-preview.5.24201.12 | 1,146 | 4/9/2024 |