Foros del Web » Programando para Internet » ASPX (.net) »

Como mantener datos datos en memoria

Estas en el tema de Como mantener datos datos en memoria en el foro de ASPX (.net) en Foros del Web. Colegas, tengo algunas inquietudes, tengo una aplicación web aspx, donde consulto el detalle de una factura, ese detalle lo necesito para filtrar datos, extraer algunos ...
  #1 (permalink)  
Antiguo 26/06/2012, 10:25
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Pregunta Como mantener datos datos en memoria

Colegas, tengo algunas inquietudes, tengo una aplicación web aspx, donde consulto el detalle de una factura, ese detalle lo necesito para filtrar datos, extraer algunos campos, necesito mantenerlo en memoria para evitar estar viajando a la base de datos cada vez que necesite un dato del detalle de la factura, como lo m mantengo en memoria, que es lo menos costoso, tengo muchas teorías pero me gustaría que me ayudaran con algo teórico que ya hayan hecho, de antemano mucha gracias.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #2 (permalink)  
Antiguo 26/06/2012, 11:09
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 2 meses
Puntos: 56
Respuesta: Como mantener datos datos en memoria

Hola.
Podrias guardar los datos en una variable de session, si tienes los datos en un dataset o datatable puedes pasar ese objeto directo a una variable de session.
Tambien podrias crear una clase donde puedas mantener esa informacion si no deseas usar variables de session.

Recuerda siempre liberar las variables de session.
__________________
Mario Ramírez
Desarrollador .NET MCTS
https://www.mcpvirtualbusinesscard.c...nteractivecard
  #3 (permalink)  
Antiguo 26/06/2012, 11:30
Avatar de cgonzalezm  
Fecha de Ingreso: junio-2012
Mensajes: 55
Antigüedad: 11 años, 10 meses
Puntos: 13
Respuesta: Como mantener datos datos en memoria

Así es. Una variable de Session es lo más indicado.

También puedes guardar un objeto del tipo factura

Ejemplo

Factura fac = new Factura();

fac.rutComprador = 12345;
fac.fechaCompra = "22/11/2010";
fac.nombreComprador = "Camilo Gonzalez";

Session["Factura"] = fac;


Luego desde otras páginas llamas así los datos...

Factura fac = (Factura)Session["Factura"];

TextboxRutComprador.Text = fac.rutComprador.ToString();
TextboxFechaCompra.Text = fac.fechaCompra;
TextboxComprador.Text = fac.nombreComprador;
  #4 (permalink)  
Antiguo 29/06/2012, 15:07
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Como mantener datos datos en memoria

Y esto no es costoso en cuanto a la variable de sesion?

Esto que recomiendas es la mejor practica o esta dentro de las mejores pacticas?

Y como conservo un catalogo, son ID y Descripcion de como 100 registros, en variable de sesion?

de antemano muchas gracias.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #5 (permalink)  
Antiguo 03/07/2012, 08:19
Avatar de cgonzalezm  
Fecha de Ingreso: junio-2012
Mensajes: 55
Antigüedad: 11 años, 10 meses
Puntos: 13
Respuesta: Como mantener datos datos en memoria

Nada es lo mejor, porque todo tiene sus pro y sus contras. El problema de la variable de sesión es que requiere memoria heap, especialmente si hay muchos usuarios, pero personalmente creo que es lo mejor para este caso.

Para mantener estados tienes las siguientes alternativas:

- Cadenas de consulta: Ej: aspx?id=1&con=345...
- Estados de vista: ViewState["variable"] = objeto;
- Campos ocultos: <asp:hiddenfield id="hdf" value="mivalor"/>
- Estados de Aplicación: Application["variable"] = objeto;

En cuanto al problema de ingresar varios objetos en la sesión, debes ocupar listas genericas:

List<Factura> listfac = new List<Factura>();

Factura fac1 = new Factura();

fac1.rutComprador = 12345;
fac1.fechaCompra = "22/11/2010";
fac1.nombreComprador = "Camilo Gonzalez";

Factura fac2 = new Factura();

fac2.rutComprador = 12345;
fac2.fechaCompra = "22/11/2010";
fac2.nombreComprador = "Camilo Gonzalez";

listfac.Add(fac1);
listfac.Add(fac2);

Session["Factura"] =listfac;


Luego desde otras páginas llamas así los datos...

List<Factura> Listfac = (List<Factura>)Session["Factura"];
  #6 (permalink)  
Antiguo 06/07/2012, 23:12
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Como mantener datos datos en memoria

Creo que tambien podrias utilizar variables en una clase, las variables las puedes crear en la clase general como public static de tal manera que tendras disponible la variable que requieras, podes crear un array o string o lo que quieras y sin instanciar objeto en la clase

//en clase general
public static string var;

//en el web form que lo requiera
txtVariable.text = claseGeneral.var;
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...

Etiquetas: aspx, memoria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:21.