ASP.NET - pierdo las variables de sesión al conectar electron con .net

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 15 puestos en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

pierdo las variables de sesión al conectar electron con .net

Publicado por Claudio (1 intervención) el 28/09/2020 17:00:34
Buenas, ayuda con el siguiente problema, tengo un servicio en .net donde mantengo distintas variables de sesión usando Session[""]. Al usar estas variables con postman no tengo ningún problema y puedo recuperarlas sin y alterarlas sin conflicto. El problema llega cuando trato de hacer exactamente el mismo proceso desde electron usando Ajax; puntualmente una de las variables es una lista a la que le agrego unos objetos tipo dispositivo, en la primera llamada se agrega sin problema pero ya para la segunda llamada la lista aparece vacía nuevamente. Usé SesionID para corroborar y efectivamente en postman el ID de la sesión se mantiene entre llamados, no así con electron. les dejaré un extracto de ambos códigos para su referencia:


método que uso para setear o retornar la variable de sesión
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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;
    }
}

extracto del método donde valido la sesión
1
2
3
4
5
6
7
8
9
10
public string LecturaContinuaLogin()
{
    lecturaActiva = true;
    Lector lector = VariablesSesion.lector();
    if (Session["listaDispositivos"] == null)
    {
        Auxiliar.AgregarLog("Lista de dispositivos vacía");
        return Auxiliar.FormatoRespuesta(-1, "lista de dispositivos vacía"); //aquí es donde se cae al encontrar la lista vacía
    }
    List<Dispositivo> listaDispositivos = (List<Dispositivo>)Session["listaDispositivos"];


llamada desde electron con Ajax (ignoren las palabras raras XD, es como el décimo intento y al desarrollador ya no se le ocurría que más poner)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function SlowCallTakeItEasy(){
    const mac = getMac();
    try{
        $.ajax(
            {
                url:'http://localhost:58046/Credenciales/AgregarPC',
                type:'GET',
                data: {
                    "mac" : mac
                },
                contentType: "application/x-www-form-urlencoded",
                async: false,
                success:(respuesta)=>{
                    console.log('El PC se agregoo loocoooo');
                },
                error:(err) => {
                    console.log('Critical HiT!');
                }
            }
        )
    }
    catch(ex){
        console.log('Fatal Blow!');
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder