У меня есть проект ASP.Net vNext, который использует Session. Но я получаю эту ошибку, пытаясь получить/установить значения в сеансе.
Исключение типа 'System.InvalidOperationException' произошло в Microsoft.AspNet.Http.Core.dll, но не было обработано в коде пользователя
Дополнительная информация: сеанс не настроен для этого приложения или запроса.
Здесь мой метод контроллера:
[AllowAnonymous]
[HttpGet("/admin")]
public IActionResult Index()
{
if (Context.Session.GetString("UserName") == null) // error thrown here
{
return RedirectToAction("Login");
}
return View();
}
Я добавил пакет KVM "Microsoft.AspNet.Session": "1.0.0-beta3"
в мой файл project.json
, а также настроил мое приложение на использование сеанса через мой Startup.cs
следующим образом:
public void ConfigureServices(IServiceCollection services)
{
// code removed for brevity
services.AddCachingServices();
services.AddSessionServices();
}
public void Configure(IApplicationBuilder app)
{
app.UseMvc();
app.UseInMemorySession(configure: s => s.IdleTimeout = TimeSpan.FromMinutes(30));
}
Я просмотрел документацию vNext в Github, но он не предоставляет много информации об сеансах ASP.Net. Что я делаю неправильно?