从 .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,它提供了一种扩展方法,可以在会话中实现复杂对象的使用。
我刚刚将我的 .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,它提供了一种扩展方法,可以在会话中实现复杂对象的使用。