Cómo: Mejorar el rendimiento por la caché de páginas en ASP.NET

Seleccione idioma Seleccione idioma
Id. de artículo: 315896 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Este artículo muestra cómo mejorar el rendimiento de las aplicaciones ASP.NET mediante el almacenamiento en caché páginas ASP.NET completas con la directiva de página de @ OutputCache . También puede la directiva @ OutputCache de página en caché partes específicas de una página ASP.NET, aunque este artículo no muestra esta implementación.

Requisitos

En la lista siguiente se describe el hardware, el software, la infraestructura de red y los service pack recomendados que se necesitarán:
  • Microsoft Visual Studio .NET
  • Microsoft Internet Information Server (IIS) 4.0 o Microsoft Internet Information Services (IIS) 5.0
En este artículo se supone que está familiarizado con los temas siguientes:
  • Aplicaciones Web
  • Microsoft ASP.NET

Descripción de la técnica

Cuando almacena información en caché, coloque la información en la memoria. Normalmente, cuando IIS recibe una solicitud para una página, IIS lee la página desde el disco duro y, a continuación, envía la página. A veces, IIS puede almacenar automáticamente información en la memoria para mejorar el rendimiento. La directiva @ OutputCache permite mantener una página en memoria, incluso si esa página no concuerda con los criterios que IIS utiliza para determinar qué información mantiene en memoria.

Por ejemplo, páginas que tienen acceso a una base de datos se ejecutan cada vez que explorar a la página para obtener los datos más recientes. Cuando se utiliza la directiva @ OutputCache , la página se almacena en memoria con los resultados de una consulta a la base de datos hasta que caduque el período de tiempo especificado. Por lo tanto, puede utilizar la directiva @ OutputCache para evitar consultar la base de datos cada vez que alguien examina la página. Esto resulta muy útil para los datos que no cambian con frecuencia.

Crear una aplicación Web ASP.NET que utiliza @ OutputCache

En esta sección, se crea una aplicación Web ASP.NET que utiliza la directiva de página de @ OutputCache para caché de la página para un período de tiempo específico.
  1. Siga estos pasos para crear una nueva aplicación Web ASP.NET en Visual Basic. NET:
    1. Abra Visual Studio NET..
    2. En el menú archivo , seleccione nuevo y, a continuación, haga clic en proyecto .
    3. En el cuadro de diálogo Nuevo proyecto , haga clic en Proyectos de Visual Basic bajo Tipos de proyecto y, a continuación, haga clic en Aplicación Web ASP.NET bajo plantillas .
  2. Cambie a la vista HTML en la ventana WebForm1.aspx y, a continuación, agregue la directiva siguiente inmediatamente después de la directiva @ Page :
    <%@ OutputCache Duration="10" VaryByParam="none" %>
    						
    este código establece el atributo de duración de la directiva @ OutputCache en 10 segundos para que el contenido de la página se almacenan en caché durante 10 segundos. Además, el atributo VaryByParam consiste en una lista separada por punto y coma de cadenas que puede utilizar la caché de resultados basándose en las variables que define el usuario. Esta funcionalidad está fuera del alcance de este artículo, por lo que el código anterior establece VaryByParam en Ninguno .
  3. En la vista HTML de WebForm1.aspx, agregue el código siguiente entre las etiquetas <form> apertura y cierre para agregar uncontrol de etiqueta en el formulario:
    <asp:Label>
    Last cached: <%Response.Write(Now())%>
    </asp:Label>
    						
    Utilice esta etiqueta para mostrar la última vez que se cargó la página. El valor de esta etiqueta sólo debe cambiar una vez cada 10 segundos, sin tener en cuenta cuántas veces se actualiza la página.
  4. En el menú archivo , haga clic en Guardar .
  5. En el menú Generar , haga clic en Generar solución .
  6. Haga clic con el botón secundario en la página y, a continuación, haga clic en Ver en el explorador . Observe que aparece una etiqueta, que muestra la hora actual.
  7. Actualice la página varias veces. Observe que la etiqueta cambia sólo después de que el período de 10 segundos caduque.

Lista de código completa

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1"%>
<%@ OutputCache Duration="10" VaryByParam="none" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
    <head>
        <title>WebForm1</title>
        <meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
        <meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </head>
    <body MS_POSITIONING="GridLayout">
        <form id="Form1" method="post" runat="server">
        <asp:Label>
            Last Cached: <%Response.Write(Now())%>
        </asp:Label>
        </form>
    </body>
</html>
				
Nota : puede que necesite modificar el atributo Inherits en la siguiente línea de código como sea necesario para hacer referencia al nombre del proyecto y Web Forms:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1"%>
				
el código actualmente se supone que el proyecto se denomina WebApplication1 y que el formulario Web Forms es denominado WebForm1.

Comprobar que funciona

  1. Abrir varias ventanas de explorador.
  2. En cada ventana, vaya a la página .aspx como si fueran un usuario final. Observe que todas las ventanas muestran el mismo tiempo para la duración de 10 segundos, incluso aunque no se ha vaya a la página al mismo tiempo.
  3. Después de 10 segundos, vaya a o actualizar la página aspx. Observe que todas las ventanas de actualizarán la hora.



Referencias

Para obtener más información, consulte los sitios Web de Microsoft siguientes:
Optimización de ASP.NET
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaspoptimization.asp

Características de almacenamiento en caché de ASP.NET
http://msdn2.microsoft.com/en-us/library/xsbfdd8c(vs.71).aspx

Almacenamiento en caché páginas ASP.NET
http://msdn2.microsoft.com/en-us/library/06bh14hk(vs.71).aspx

@ OutputCache
http://msdn2.microsoft.com/en-us/library/hdxfb6cy(vs.71).aspx

Propiedades

Id. de artículo: 315896 - Última revisión: jueves, 31 de mayo de 2007 - Versión: 3.6
La información de este artículo se refiere a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Palabras clave: 
kbmt kbcaching kbhowtomaster kbio kbperformance kbwebforms KB315896 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 315896

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com