Session 使用asp.net mvc访问子项目中的会话

Session 使用asp.net mvc访问子项目中的会话,session,Session,我有一个asp.net mvc中的web应用程序项目 另一个程序员用asp.net编写根项目 在我的项目中,我必须阅读根项目的会话,但我不知道如何阅读? 我的项目是根项目的虚拟项目,但不在一个解决方案中 我无法访问根代码项目 但我知道根项目中的会话密钥是[“UserInformation”] 我使用此代码,但不起作用 public override void OnActionExecuting(ActionExecutingContext filterContext) {

我有一个asp.net mvc中的web应用程序项目

另一个程序员用asp.net编写根项目 在我的项目中,我必须阅读根项目的会话,但我不知道如何阅读? 我的项目是根项目的虚拟项目,但不在一个解决方案中 我无法访问根代码项目 但我知道根项目中的会话密钥是[“UserInformation”]

我使用此代码,但不起作用

  public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (filterContext.HttpContext.Session["UserInformation"] != null)
        {
            SiteUser user =(SiteUser)filterContext.HttpContext.Session["UserInformation"];
            CoustomerDetail.UserId = user.UserId;
            CoustomerDetail.Name = user.FirstName;
            CoustomerDetail.LastName = user.LastName;

            using (UserLogBussinessRole repsRole = new UserLogBussinessRole())
            {
                UserLog currentUserLog = repsRole.SetLoginAndLogout(CoustomerDetail.UserId, true);
                CoustomerDetail.LastLogin = currentUserLog.LastLogin;
                CoustomerDetail.LastLogout = currentUserLog.LastLogout;
            }

            base.OnActionExecuting(filterContext);
        }
        filterContext.HttpContext.Response.Redirect("http://tahlildadeh.com/Users/Login.aspx", true);
    }

谢谢

两个应用程序无法在“InProc”模式下共享会话变量。由于虚拟目录基本上是一个不同的应用程序,因此无法访问会话值。为了在多个应用程序之间共享状态,必须使用“进程外”会话存储,其中包括“状态服务器”或“SQL Server”(或手动实现状态存储)