在我的Startup.cs
.NET Core 2.2中,我有以下内容:
public void ConfigureServices(IServiceCollection services)
{
services.AddDistributedRedisCache(...);
}
但是现在,在.NET Core 3.0中,找不到AddDistributedRedisCache
方法。在文档中,"适用于"部分显示仅支持高达 .NET Core 2.2
按照 Microsoft 年的本教程,他们在示例中使用了services.AddStackExchangeRedisCache
。这是否意味着我需要为 Redis 安装 Stack Exchange NuGet 包?为什么删除了本机Microsoft的 Redis 客户端解决方案?
在他们的 git 存储库中挖掘了一些时间,但它已被删除。https://github.com/aspnet/Extensions,删除不是在当前存储库中发生的,而是在以前的存储库中发生的,该存储库现已存档,https://github.com/aspnet/Caching。
您可以在此线程中看到原始包的一些问题:https://github.com/aspnet/Caching/issues/410#issuecomment-418912525
删除发生在这里:https://github.com/aspnet/Caching/issues/423
我已经查看了 aspnet 从 2.1 -> 2.2 和 2.2 -> 3.0 开始的重大更改列表,但没有列出任何内容。我将在文档上创建一个问题以查看它包含在内。
在这一点上,我相信答案是使用StackExchange版本。无论如何,它显然对旧包有一些重大改进。
更新:支持的最新包将是Microsoft.Extensions.Caching.StackExchangeRedis
仅使用此包最适合.NET Core 3.0及更高版本。
类似的东西
services.AddStackExchangeRedisCache(action =>
{
action.InstanceName = "WhatYouWantToNameIt";
action.Configuration = "127.0.0.1:6379";
});
文档在这里!
要使用AddDistributedRedisCache
,您需要从 nuget 安装Microsoft.Extensions.Caching.Redis
。另一方面,如果您仔细检查您发布的文档,AdddistributedRedisCache 将使用 RedisCacheOptions,并且 ConfigurationOptions 属性StackExchange.Redis.ConfigurationOptions
。