2010-08-20 35 views
0

是否可以使用应用程序事件将用户名保存在会话变量中?我愿做这样的事情:当用户使用Http模块登录时,保存会话变量中的用户名

 private void ContextOnBeginRequest(object sender, EventArgs eventArgs){ 
     if (_context.Request.IsAuthenticated) 
      _context.Session["ID"] = _context.User.Identity.Name; 
    } 

然而,在上面的代码中,我得到一个错误,说会话状态不可用。

回答

1

如果你想采取这种方法,你应该检查httpcontext.current.session,但当然首先确保它不为空。另外,您还需要查看Request IsAuthenticated,以确保有用户,因为您可以拥有未经过身份验证的会话。