从 .net4.8 升级后 .net6 中的会话

Sessions in .net6 after upgrading from .net4.8

我刚刚将我的 .net 4.8 MVC 网络应用程序升级到 .net6。 我使用会话来存储对象。 例如用户 class:

public class User
{
    [Key]
    public string UserID { get; set; }
    public string TenantId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string MobilePhone { get; set; }
    public bool IsEnabled { get; set; }
    public virtual ICollection<Department> Departments { get; set; }

}

这是我设置会话的方式:

Session[Consts.CURRENTUSER] = userFromDb;

我是这样使用的:

User _currentUser = Session[Consts.CURRENTUSER] as User;

现在,升级后无法编译。我收到以下错误:

Error CS0103 The name 'Session' does not exist in the current context

如果我使用下面的HttpContext.Session[Consts.CURRENTUSER] as User它仍然不允许上面的使用

将感谢有关如何在 .net 核心中使用上述场景的示例。

阅读 Microsoft docs, I followed this guide from step 4 后允许使用会话。 然后,为了在 .net 核心中使用复杂对象,我遵循了 this link,它提供了一种扩展方法,可以在会话中实现复杂对象的使用。