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