Introducción
Una vez que tenemos nuestra aplicación lista para desplegar y subirla al servidor, hay algunas acciones que mejoran el rendimiento de la aplicación en el servidor. Una de las formas de optimizar es hacer uso del Objeto Cache, pero como podemos usar la Cache?. La Cache la usamos para almacenar variables de aplicacion, o variables globales a la aplicación, que son usadas por tiempo determinado,ya que estas se almacena en la memoria del servidor, es decir, al inicio de nuestra aplicación recuperamos todos los alumnos y los llenamos en un DataSet. Este DataSet lo podemos colocar en la Cache y estara disponible para toda la aplicación, sin necesidad de volver a llamar a la base de datos para recuperar los datos, solo hacemos uso del Objeto Cache que esta en memoria. A continuación veremos un ejemplo con el cual detallaremos mas funcionalidades del Objeto Cache y como usarlo.
Usando el Objeto Cache
1. Crear Archivo Xml
Crearemos un archivo Xml, que nos servira para llenar nuestro dataSet, este archivo Xml lo utilizaremos como nuestra fuente de datos. Recuerden que Xml es CaseSentive, hay que tener mucho cuidado en llenar nuestro Xml, el cual tendra el siguiente formato:
<?xml version="1.0" encoding="utf-8" ?>
<ROOT>
<alumno>
<nombre>Carlos Obando</nombre>
<edad>21</edad>
<promedio>13</promedio>
</alumno>
<alumno>
<nombre>Roicer Tejedo</nombre>
<edad>23</edad>
<promedio>14</promedio>
</alumno>
..........
</ROOT>
Llenamos el Xml con unos 8 a mas alumnos no hay problema en el tamaño, pero que sea mayor de 6 para poder ver la utilidad del Objeto Cache.
2. Leyendo el Archivo Xml en DataSet, y poner este en Cache.
Primero debemos recuperar el archivo Xml para llenarlo en el dataSet posteriormete colocamos el DataSet en Cache. Para leer un archivo del servidor, usamos Server.MapPath, para obtener la ruta absoluta del archivo. El codigo siguiente lo hacemos en el Evento Load de la Pagina:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)...
Introducir aquí el código de usuario para inicializar la página
CARGANDO EL DATASET
dsAlumno.ReadXml(Server.MapPath("Alumnos.xml"))
If Not Page.IsPostBack Then
Cache.Insert("dsAlu", dsAlumno, Nothing, _
DateTime.Now.AddMinutes(2), Nothing)
dgAlumno.DataSource = Cache("dsAlu")
dgAlumno.DataBind()
End If
End Sub
El dataSet debe ser una variable publica.
Hay dos formas de colocar algun objeto en la Cache, la forma implicita y la explicita.
Implicita: Cache("Key") = Value
Explicita: Cache.Insert("Key", Value, Dependency, ....), esta es la forma que usamos en nuestro ejemplo. (ver mas detalles)
Tambien Colocamos codigo para la paginación, es algo parecido al anterior:
Private Sub dgAlumno_PageIndexChanged(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles dgAlumno.PageIndexChanged
cambiando el numero de pagina
dgAlumno.CurrentPageIndex = e.NewPageIndex
Verificando si la existe cache o ya se elimino
If Cache("dsAlu") Is Nothing Then
Cache.Insert("dsAlu", dsAlumno, Nothing, _
DateTime.Now.AddMinutes(2), Nothing)
End If
dgAlumno.DataSource = Cache("dsAlu")
dgAlumno.DataBind()
End SubUsuarios que han visto este tema también han visto...
- Crear base de datos Acces con ASP
- Redirección de vuelta después de un Login en ASP
- Declaración de variables con ASP
- Validar usuarios con Sesiones con ASP
- MapPath en ASP
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.