目前我的母版页顶部有这行代码
@{
MyApp.Domain.Concrete.FullUserProfile fullUser = (MyApp.Domain.Concrete.FullUserProfile)HttpContext.Current.Session[Membership.GetUser().ProviderUserKey.ToString()];
}
这会在缓存中获取用户的个人资料信息,但我的问题是这将始终可用吗?如果用户长时间登录怎么办。如何使他或她的信息不存储在会话中,它将再次从数据库中检索?我很难理解,因为我不知道所有这些代码是否应该在视图中,以及你是否会从后面的代码中调用方法以触发数据库调用并保存到缓存中。我不想把它放在控制器中的原因似乎是重复的。