是否可以使用应用程序事件将用户名保存在会话变量中?我想做这样的事情:
private void ContextOnBeginRequest(object sender, EventArgs eventArgs){
if (_context.Request.IsAuthenticated)
_context.Session["ID"] = _context.User.Identity.Name;
}
但是在上面的代码中,我收到一条错误,说会话状态不可用。
答案 0 :(得分:1)
如果你想采用这种方法,你应该检查httpcontext.current.session,但当然首先要确保它不是null。此外,您还需要检查Request IsAuthenticated以确保有用户,因为您可以拥有未经过身份验证的会话。
答案 1 :(得分:0)
ContextOnBeginRequest是您的BeginRequest事件处理程序。如果这个事件
触发SessionState尚未创建。