我有一个所有控制器都扩展的基本控制器,并且在基本控制器上我做了一些会话处理。比如存储用户id等。
此外,我有一个User
类,它有其他类,例如:
class User
{
public int Id {set;get;}
public virtual Location Location {set;get;}
}
当我从数据库中填充它时(我使用代码优先 EF),显然位置不会加载,我应该按照它的方式将它存储在会话中吗?
主要问题是我存储Id
在基本控制器中并且每次重新启动应用程序时都会丢失会话。为什么会这样?我延长了会话超时并没有帮助。
会话处理的最佳实践是什么?有我可以使用的包装器吗?