public ActionResult VerificarFinSesion() { try{ log.Info("metodo VerificarFinSesion , tiempoDuracion: "); List <Parametros> param = new List <Parametros>(); SesionAplicacion objSesionAplicacion = new SesionAplicacion(); string userIdApp, app, tknApp; userIdApp = Request.Cookies["SesionIged"]["UserIdApp"].ToString(); app = Request.Cookies["SesionIged"]["App"].ToString(); tknApp = Request.Cookies["SesionIged"]["TknApp"].ToString(); log.Info("metodo VerificarFinSesion , tknApp: " + tknApp); Encuesta objSesion = new Encuesta(); string fecha = objSesion.obtenerFechaUltimaTRansaccion(userIdApp); log.Info("metodo VerificarFinSesion , fecha: " + fecha); if (fecha != "") { DateTime fechUltimaTransaccion = new DateTime(); fechUltimaTransaccion = DateTime.Parse(fecha); log.Info("metodo VerificarFinSesion , fechUltimaTransaccion: " + fechUltimaTransaccion); //diferecnia entre las dos fechas TimeSpan ts = DateTime.Now - fechUltimaTransaccion; int diferenciaMinutos = ts.Minutes; int valorVerificar = int.Parse(System.Web.Configuration.WebConfigurationManager.AppSettings["Timeout"]); int diferencia = valorVerificar - diferenciaMinutos; if (diferencia < 0) { objSesionAplicacion.EliminarTokenAplicacion(userIdApp, app, tknApp, out param); //SE ELIMINAN LAS VARIABLEA DE SESION objSesion.eliminarSesionIdUsuario(userIdApp); if (param.Find(x => x.Nombre == "p_Salida").Valor == "1") { Session.Abandon(); // Invalidate the Cache on the Client Side Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetNoStore(); return(Json("cerrada", JsonRequestBehavior.AllowGet)); } } } return(Json("abierta", JsonRequestBehavior.AllowGet)); } catch (Exception ex) { log.Info("metodo VerificarFinSesion , ERROR: " + ex.ToString()); return(Json(ex.ToString(), JsonRequestBehavior.AllowGet)); } }