Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Objetos contenedores de
datos
Mtodo de
Quien necesita? Cuanto tiempo? Cantidad de
persistencia
datos?
Application
Todos
Hasta que la
Casi cualquier
siguiente aplicacin tamao.
comience.
Cookie
Usuario
El tiempo que se
desee si no se
borra.
Poco, datos
simples.
Form Post
Usuario
Para la prxima
peticin.
Cualquier tamao.
Los datos viajan
con la pagina.
QueryString
Session
Usuario
Poco, datos
simples.
Objetos contenedores
Mtodo de
persistencia
Cache
Todos los
usuarios.
Por el tiempo
Todo tipo.
que se necesite.
Context
Usuario
Solo en la
peticion.
Gran tamao.
ViewState
Usuario
Un formulario Web
Config file
Todos
Application
El objeto Application provee un lugar ideal para guardar datos
de uso frecuente los cuales rara vez cambian en la aplicacin.
Ejemplo:
Application.Lock();
Application[Valor]= txtValue.Text;
Application.UnLock();
Cookies
Son tiles cuando el usuario necesita un dato muy particular.
No deben de ser usadas para datos crticos ya que pueden ser
borradas por el usuario.
Cantidad de datos limitados. Lo mejor es guardar Keys y el
resto de la informacin en base de datos.
Cookies
//crear una cookie y agregarla a la coleccin.
HttpCookie mCookie = new HttpCookie(miCookie");
mCookie.Value = DateTime.Now.ToString();
mCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(mCookie);
//Eliminar
mCookie.Expires
= DateTime.Now.AddDays(-1)
Inline-code
<input type=hidden" name=usuario" value="<%#
TxtUsuario.Text %>" >
Para leerloOculto.Text =
TxtCampoOculto.Text =
Context.Request.Form["TxtCampoOculto"].ToString();
QueryString
Los datos guardados en el objeto QueryString son utilizados
por un solo usuario.
Es un buen modo de enviar informacin entre formularios.
Request.QueryString[Valor].ToString
();
Session
Sus datos pertenecen a un usuario en particular.
Viven mientras el usuario contine haciendo peticiones, ms un
un timeout (por defecto 20 min.)
Pueden guardar grandes o pequeas cantidades de datos.
Su uso debe de tratar de restringirse si se desea un buen
rendimiento con muchos usuarios.
Session
//Cargar un valor en variable de session.
Session[Valor] = txtValue.Text;
//Asignar valor de variable de session.
lblResult.Text =
Session[Valor].ToString();
/*Se puede optimizar un poco el
rendimiento de una pagina indicando si la
misma no utilizara objetos de session o
solo leera de los mismos.*/
<%@ Page
EnableSessionState="false" %>
Session
Las sesiones en Asp.Net se configuran en el Web.config o en
el Machine.config.
<system.web>
<sessionState timeout="10"
cookieless=UseCookies"
mode="Inproc" />
</system.web>
Cache
Puede contener grandes cantidades de datos.
La pueden utilizar uno o varios usuarios.
Puede persistir por largos perodos de tiempo, pero no al
restart de la aplicacin.
Context
Maneja datos para un solo usuario, durante una sola peticin.
Puede contener grandes cantidades de datos, pero se utiliza
generalmente con pocos ya que se implementa en cada
peticin.
Context.Items[valor] = miValor;
Response.Write(Context.Items [valor]);
ViewState
Guarda el estado de la informacin para un solo usuario por el
tiempo que trabaje con la pgina.
Puede guardar grandes cantidades de datos
Los datos viajan con cada peticin y respuesta.
Puede ser deshabilitado para toda la pgina agregando:
EnableViewState="false" en la directiva
Se declara:
ViewState[miEstado]=txtNombre.Text;
Se lee:
Label.Text=ViewState[miEstado].ToString();
@Page.
ViewState vs Session
Session
Almacena los
S
recursos del
servidor?
Se agota el tiempo S; transcurridos 20
de espera?
minutos (valor
predeterminado)
Almacena algn
S
tipo de .NET?
Aumenta la "carga No
HTML"?
ViewState
No
No
No; presenta
compatibilidad
limitada con
cadenas, enteros,
operadores
booleanos, matrices,
ArrayList.
S