我正在使用 ASP.NET MVC3 构建一个网站。当用户登录时,我从数据库中提取他们的显示名称并将其存储到会话变量中:
Session["DisplayName"] = user.Display;
然后在_Layout.cshtml
我用它显示在每一页的顶部:
<span class="user">@(Session["DisplayName"] as string)</span>
当我开始调试网站然后登录时,这工作正常,但是如果我随后重建服务器并再次开始调试,我的浏览器仍然保持登录状态,但Session
变量被清除。这会导致我的显示名称应该是一堆空白。
这是重建服务器的副作用,而不是我在部署时需要担心的事情吗?有没有办法在我每次重建时使登录无效,从而避免这个问题?或者有没有更好的方法来存储这个用户数据,而不是一个Session
变量?