Требуется ли для Redis Cache в .NET Core 3 использование пакета Stack Exchange? - PullRequest
0 голосов
/ 11 декабря 2019

В .NET Core 2.2 в моем Startup.cs было следующее:

public void ConfigureServices(IServiceCollection services)
{
    services.AddDistributedRedisCache(...);             
}

Но теперь, в .NET Core 3.0, метод AddDistributedRedisCache не может быть найден. В документах раздел «Относится к» показывает поддержку только до .NET Core 2.2

После этого урока от Microsoft они используют services.AddStackExchangeRedisCache в примере,Означает ли это, что мне нужно установить пакет Stack Exchange NuGet для Redis? Почему собственное клиентское решение Redis от Microsoft удалено?

Ответы [ 2 ]

1 голос
/ 13 декабря 2019

Потребовалось немного покопаться в их 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. По-видимому, в любом случае он значительно улучшен по сравнению со старым пакетом.

0 голосов
/ 12 декабря 2019

Чтобы использовать AddDistributedRedisCache, вам нужно установить Microsoft.Extensions.Caching.Redis из nuget. С другой стороны, если вы тщательно проверяете документ, который вы публикуете, AdddistributedRedisCache использует RedisCacheOptions , а свойство ConfigurationOptions равно StackExchange.Redis.ConfigurationOptions.

...