В Asp.Net Core, кроме установки и получения строки сеанса, вы также должны добавить SessionMiddleware в конвейер, сделайте это app.UseSession()
перед app.UseMvc()
в методе Configure в вашем файле startup.cs.После этого в вашем методе ConfigureServices добавьте следующую службу.
services.AddSession(options =>
{
//Replace {mins} with the time you want, usually around 20-30.
options.IdleTimeout = TimeSpan.FromMinutes({mins});
});
, а затем вы можете продолжить работу с классом SessionHelper.Также неверно имя вашего класса, оно должно называться SessionExtensions, а не SessionHelper, возможно, именно поэтому ваше расширение не регистрируется в HttpContext.Session.Надеюсь, это поможет.