В настоящее время мы переносим существующее ASP. NET Core 2.2 веб-приложение на 3.0 До сих пор у нас работало большинство вещей, кроме хранилища сессий.
У нас было это полностью работает в v2.2, поскольку мы использовали его для хранения текущих зарегистрированных данных пользователя. Теперь, когда мы обновились до v3.0, он больше не работает.
Вот код промежуточного программного обеспечения.
public void ConfigureServices(IServiceCollection services)
{
// configure Razor pages, MVC, authentication here
services.AddDistributedMemoryCache();
services.AddSession(options =>
{
//prevent session storage from being accessed from client script
//i.e. only server side code (added security)
options.Cookie.HttpOnly = true;
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseSession();
}
NB Я удалил остальную часть кода промежуточного программного обеспечения для ясности.
Я пробовал перемещение строки app.SetSession () в начало метода в случае, если порядок выполнения был проблемой, но это не имело никакого значения.
Когда я наводил курсор на Свойство HttpContent.Session в отладчике Я получаю следующую ошибку:
HttpContext.Session threw an exception of type System.InvalidOperationException
Как включить хранилище сеансов в ASP. NET Core 3.0?