Microsoft.Azure.StackExchangeRedis 3.1.0

前缀已保留
dotnet add package Microsoft.Azure.StackExchangeRedis --version 3.1.0                
NuGet\Install-Package Microsoft.Azure.StackExchangeRedis -Version 3.1.0                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Microsoft.Azure.StackExchangeRedis" Version="3.1.0" />                
对于支持 包引用 的项目,将此 XML 节点复制到项目文件中以便引用该包。
paket add Microsoft.Azure.StackExchangeRedis --version 3.1.0                
#r "nuget: Microsoft.Azure.StackExchangeRedis, 3.1.0"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将其复制到交互式工具或脚本的源代码中以引用该包。
// Install Microsoft.Azure.StackExchangeRedis as a Cake Addin
#addin nuget:?package=Microsoft.Azure.StackExchangeRedis&version=3.1.0

// Install Microsoft.Azure.StackExchangeRedis as a Cake Tool
#tool nuget:?package=Microsoft.Azure.StackExchangeRedis&version=3.1.0                

ArtifactType: nupkg Documentation: https://learn.microsoft.com/azure/azure-cache-for-redis Language: C# Tags: Redis,Cache,StackExchange.Redis,Microsoft,Azure

Microsoft.Azure.StackExchangeRedis 扩展

Microsoft.Azure.StackExchangeRedis 包是 StackExchange.Redis 客户端库的扩展,它允许使用 Microsoft Entra ID 来验证 Redis 客户端应用程序与 Azure Cache for Redis 资源之间的连接。此扩展从 Azure 托管标识服务主体获取一个访问令牌,并配置一个 StackExchange.Redis 连接使用该令牌进行身份验证。它还维护该令牌,积极主动地更新它并在几天内重新验证连接,以维护与缓存的无缝通信。

用法

请参阅 sample/Sample.cs,以获取如何使用该扩展在各种支持的认证场景下的详细示例。

高级说明

  1. 在你的 Redis 客户端项目中添加对 Microsoft.Azure.StackExchangeRedis NuGet 包的引用。

  2. 在你的 Redis 连接代码中,首先创建一个 ConfigurationOptions 实例。您可以使用 .Parse() 方法从一个 Redis 连接字符串或缓存主机名创建一个实例。

var configurationOptions = ConfigurationOptions.Parse($"{cacheHostName}:6380");
  1. 使用此包提供的其中一个 ConfigureForAzure* 扩展方法来配置认证选项
// DefaultAzureCredential
await configurationOptions.ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());

// User-assigned managed identity
await configurationOptions.ConfigureForAzureWithUserAssignedManagedIdentityAsync(managedIdentityClientId);

// System-assigned managed identity
await configurationOptions.ConfigureForAzureWithSystemAssignedManagedIdentityAsync();

// Service principal secret
await configurationOptions.ConfigureForAzureWithServicePrincipalAsync(clientId, tenantId, secret);

// Service principal certificate
await configurationOptions.ConfigureForAzureWithServicePrincipalAsync(clientId, tenantId, certificate);

// Service principal certificate with Subject Name + Issuer (SNI) authentication (Microsoft internal use only)
await configurationOptions.ConfigureForAzureAsync(new AzureCacheOptions
{
    ClientId = clientId,
    ServicePrincipalTenantId = tenantId,
    ServicePrincipalCertificate = certificate,
    SendX5C = true // Enables Subject Name + Issuer authentication
});
  1. 创建连接,传入 ConfigurationOptions 实例
var connectionMultiplexer = await ConnectionMultiplexer.ConnectAsync(configurationOptions);
  1. 使用 connectionMultiplexer 交互 Redis,就像您通常所做的那样。

运行示例

sample 目录包含一个项目,展示了如何使用此扩展支持的多种认证机制连接到 Azure Redis 缓存。您可以从这个示例中借用代码用于自己的项目,或者简单地运行它来测试您的缓存上的认证配置。它将提示您输入使用的认证类型和所需的特定凭证。要运行示例

  1. 创建一个 Azure Cache for Redis 资源
  2. 按照使用 Microsoft Entra ID 进行缓存认证中的说明配置您的缓存上的 AAD 认证
  3. dotnet run <path to Microsoft.Azure.StackExchangeRedis.Sample.csproj>,或在 Visual Studio 或您喜欢的 IDE 中运行项目
  4. 按照提示输入您的凭证并测试与缓存的连接

注意:该示例项目在此存储库中使用了 <ProjectReference> 至扩展项目。如果要使用已发布的 Microsoft.Azure.StackExchangeRedis NuGet 包独立运行该项目,请将 Microsoft.Azure.StackExchangeRedis.Sample.csproj 中的 <ProjectReference> 替换为 <PackageReference>

贡献

请阅读我们的 CONTRIBUTING.md,其中概述了我们所有政策和程序以及为此项目做出贡献的要求。

版本登记

我们使用 SemVer 进行版本登记。有关可用的版本,请参阅 releases

许可

本项目受 MIT 许可证的许可 - 请参阅 LICENSE 文件获取详细信息。

产品 兼容及额外的计算目标框架版本。
.NET net5.0 已计算。  net5.0-windows 已计算。  net6.0 兼容。  net6.0-android 已计算。  net6.0-ios 已计算。  net6.0-maccatalyst 已计算。  net6.0-macos 已计算。  net6.0-tvos 已计算。  net6.0-windows 已计算。  net7.0 已计算。  net7.0-android 已计算。  net7.0-ios 已计算。  net7.0-maccatalyst 已计算。  net7.0-macos 已计算。  net7.0-tvos 已计算。  net7.0-windows 已计算。  net8.0 已计算。  net8.0-android 已计算。  net8.0-browser 已计算。  net8.0-ios 已计算。  net8.0-maccatalyst 已计算。  net8.0-macos 已计算。  net8.0-tvos 已计算。  net8.0-windows 已计算。 
.NET Core netcoreapp2.0 已计算。  netcoreapp2.1 已计算。  netcoreapp2.2 已计算。  netcoreapp3.0 已计算。  netcoreapp3.1 已计算。 
.NET 标准版 netstandard2.0 兼容。  netstandard2.1 已计算。 
.NET 框架 net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。
MonoAndroid monoandroid 已计算。
MonoMac monomac 已计算。
MonoTouch monotouch 已计算。
Tizen tizen40 已计算。 tizen60 已计算。
Xamarin.iOS xamarinios 已计算。
Xamarin.Mac xamarinmac 已计算。
Xamarin.TVOS xamarintvos 已计算。
Xamarin.WatchOS xamarinwatchos 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解有关 目标框架.NET 标准 的更多信息。

NuGet 包 (3)

显示依赖于 Microsoft.Azure.StackExchangeRedis 的前 3 个 NuGet 包

下载
Microsoft.Azure.WebJobs.Extensions.Redis

此包包含 Redis 的绑定扩展。

IglooSoftware.Sdk.Caching

Igloo SDK 用于共享常用的方法。

EndpointDefender

包描述

GitHub 仓库

此包未在任何流行的 GitHub 仓库中使用。

版本 下载 最后更新
3.1.0 47,007 6/26/2024