Вероятно, это связано с тем, что Asp. Net Ядро не будет записывать какие-либо файлы cookie (включая сессионный повар ie) в ответ, если конечный пользователь не даст свое согласие в соответствии с Общим регламентом ЕС о защите данных (GDPR). который поддерживается в ASP. NET Core и по умолчанию получает согласие пользователя.
https://docs.microsoft.com/en-us/aspnet/core/security/gdpr?view=aspnetcore-2.2
Вы можете попытаться установить сеанс Приготовьте ie, поскольку это необходимо для вашего приложения, чтобы преодолеть это:
(Из документации:)
Файлы cookie состояния сеанса не являются необходимыми. Состояние сеанса не работает, когда отслеживание отключено. Следующий код делает сессионные куки-файлы необходимыми:
services.AddSession(options =>
{
options.Cookie.IsEssential = true;
});
Еще лучше, чтобы воспользоваться функцией согласия пользователя, следуйте инструкциям в той же статье.
Другой вопрос, который вы задали;
services.AddDistributedMemoryCache(); //TODO : DO I NEED IT? // Adds a default in-memory implementation of IDistributedCache
services.AddSession();
Да; Вам необходимо установить распределенный кеш, который задокументирован здесь:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/app-state?view=aspnetcore-3.1
Чтобы включить промежуточное программное обеспечение сеанса, запуск должен содержать:
Любой из кэшей памяти IDistributedCache. Реализация IDistributedCache используется в качестве резервного хранилища для сеанса. Для получения дополнительной информации см. Распределенное кэширование в ASP. NET Core.
Вызов AddSession в ConfigureServices.
Вызов UseSession в Configure.