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
extracto del método donde valido la sesión
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)
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


0