当我从电子应用程序调用到.net服务时,丢失了会话变量

问题描述

我有下一个麻烦。使用Session [“”]具有不同的会话变量时,我具有.net服务。当我从邮递员那里打电话给这些变量时,我没有问题,这些变量确实存在。但是麻烦是当我使用电子重复这一动作时。当我使用Ajax从电子中调用这些变量时,这些变量更改了ID,因此无法恢复其信息。

获取,设置方法以更改会话变量

  async findOneById(id: number): Promise<User> {
    return await User.createQueryBuilder('user')
      .leftJoinAndMapOne('user.isOwner','user.group','group')
      .select(['user.id','user.fullName','user.email','group.isOwner'])
      .getOne();
  }

验证会话时

小方法的脚本

@AfterLoad()

调用服务的电子方法

public static List<Dispositivo> listaDispositivos(List<Dispositivo> listaDispositivos = null)
{
    try
    {
        if (listaDispositivos == null)
        {
            if (HttpContext.Current.Session["listaDispositivos"] == null)
            {
                HttpContext.Current.Session["listaDispositivos"] = new List<Dispositivo>();
            }
 
        }
        else
        {
            HttpContext.Current.Session["listaDispositivos"] = listaDispositivos;
        }
 
        return (List<Dispositivo>)HttpContext.Current.Session["listaDispositivos"];
    }
    catch (Exception ex)
    {
        Auxiliar.AgregarLog(Auxiliar.FormatoRespuesta(-2,"no fue posible acceder a la variable de sesión",ex.Message));
        return null;
    }
}

PD:对不起,我的英语

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)