Compartir a través de


OutputCacheLocation Enumeración

Definición

Especifica los valores válidos para controlar la ubicación de la respuesta HTTP, cuyo resultado se almacena en memoria caché, para un recurso.

public enum class OutputCacheLocation
public enum OutputCacheLocation
type OutputCacheLocation = 
Public Enum OutputCacheLocation
Herencia
OutputCacheLocation

Campos

Any 0

La memoria caché de resultados puede estar ubicada en el cliente de explorador (donde se originó la solicitud), en un servidor proxy (o cualquier otro servidor) que participe en la solicitud o en el servidor donde se procesó la solicitud. Este valor corresponde al valor de enumeración Public.

Client 1

La memoria caché de resultados se encuentra en el cliente de explorador donde se originó la solicitud. Este valor corresponde al valor de enumeración Private.

Downstream 2

La memoria caché de resultados se puede almacenar en cualquier dispositivo compatible con cachés HTTP 1.1 que sea distinto del servidor de origen. Entre ellos, se incluyen los servidores proxy y el cliente que realizó la solicitud.

None 4

La memoria caché de resultados está deshabilitada para la página solicitada. Este valor corresponde al valor de enumeración NoCache.

Server 3

La memoria caché de resultados se encuentra en el servidor web donde se procesó la solicitud. Este valor corresponde al valor de enumeración Server.

ServerAndClient 5

La memoria caché de resultados se puede almacenar solo en el servidor de origen o en el cliente que realiza la solicitud. No está permitido que los servidores proxy almacenen la respuesta en la memoria caché. Este valor corresponde a la combinación de los valores de enumeración Private y Server.

Ejemplos

En el ejemplo de código siguiente se muestra cómo se usa el valor del servidor para especificar que la página se debe almacenar en caché en el servidor web donde se procesa la solicitud.

<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data" %>

// The following OutputCache directive uses the OutputCacheLocation.Server
// enumeration value to allow output caching only on the origin server.
<%@ outputcache duration="10" varybyparam="none" Location="Server" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language="C#" runat="server">

    protected void Page_Load(Object Src, EventArgs E) 
    {
        DataSet ds = new DataSet();

        FileStream fs = new FileStream(Server.MapPath("schemadata.xml"),FileMode.Open,FileAccess.Read);
        StreamReader reader = new StreamReader(fs);
        ds.ReadXml(reader);
        fs.Close();

        DataView Source = new DataView(ds.Tables[0]);

        // Use the LiteralControl constructor to create a new
        // instance of the class.
        LiteralControl myLiteral = new LiteralControl();

        // Set the LiteralControl.Text property to an HTML
        // string and the TableName value of a data source.
        myLiteral.Text = "<h6><font face=\"verdana\">Caching an XML Table: " + Source.Table.TableName + " </font></h6>";

        MyDataGrid.DataSource = Source;
        MyDataGrid.DataBind();

        TimeMsg.Text = DateTime.Now.ToString("G");

     }

  </script>

<head runat="server">
    <title>Using the OutputCacheLocation Enumeration </title>
</head>
<body>

  <h6>Using the OutputCacheLocation Enumeration </h6>
  
  <form id="form1" runat="server">
    <ASP:DataGrid id="MyDataGrid" runat="server"
      Width="900"
      BackColor="#ccccff"
      BorderColor="black"
      ShowFooter="false"
      CellPadding="3"
      CellSpacing="0"
      Font-Names="Verdana"
      Font-Size="8pt"
      HeaderStyle-BackColor="#aaaadd"
      EnableViewState="false"
    />

    <i>Page last generated on:</i> <asp:label id="TimeMsg" runat="server" />

  </form>
</body>
</html>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data" %>

' The following OutputCache directive uses the OutputCacheLocation.Server
' enumeration value to allow output caching only on the origin server.
<%@ outputcache duration="10" varybyparam="none" Location="Server" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language="vb" runat="server">

   Protected Sub Page_Load(Src As [Object], E As EventArgs)
     Dim ds As New DataSet()
   
     Dim fs As New FileStream(Server.MapPath("schemadata.xml"),FileMode.Open,FileAccess.Read)

   
   Dim reader As New StreamReader(fs)
     
      ds.ReadXml(reader)
      fs.Close()
 
   
   Dim [Source] As New DataView(ds.Tables(0))
      
   MyDataGrid.DataSource = [Source]   
   MyDataGrid.DataBind()
   
   TimeMsg.Text = DateTime.Now.ToString("G")

 End Sub 'Page_Load 

  </script>

<head runat="server">
    <title>Using the OutputCacheLocation Enumeration </title>
</head>
<body>
  <h4>Using the OutputCacheLocation Enumeration </h4>
  
  <form id="form1" runat="server">
    <ASP:DataGrid id="MyDataGrid" runat="server"
      Width="900"
      BackColor="#ccccff"
      BorderColor="black"
      ShowFooter="false"
      CellPadding="3"
      CellSpacing="0"
      Font-Names="Verdana"
      Font-Size="8pt"
      HeaderStyle-BackColor="#aaaadd"
      EnableViewState="false"
    />

    <i>Page last generated on:</i> <asp:label id="TimeMsg" runat="server" />

  </form>
</body>
</html>

Comentarios

Los valores especificados por esta enumeración se usan cuando se incluye una @ OutputCache directiva en un archivo .aspx. Estos valores determinan la ubicación de caché para la salida de la página. Para obtener más información, consulte Almacenamiento en caché de páginas ASP.NET.

Se aplica a

Consulte también