OutputCacheLocation Enumeration

Definition

Gibt die gültigen Werte zum Steuern des Speicherorts der zwischengespeicherten Ausgabe der HTTP-Antwort für eine Ressource an.

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

Felder

Any 0

Der Speicherort des Ausgabecaches kann sich auf dem Browserclient (von dem die Anforderung stammt), auf einem an der Anforderung beteiligten Proxyserver (bzw. beliebigen anderen beteiligten Servern) oder auf dem Server befinden, auf dem die Anforderung verarbeitet wurde. Dieser Wert entspricht dem Public-Enumerationswert.

Client 1

Der Ausgabecache befindet sich auf dem Browserclient, von dem die Anforderung stammt. Dieser Wert entspricht dem Private-Enumerationswert.

Downstream 2

Der Ausgabecache kann in jedem cachefähigen HTTP 1.1-Gerät gespeichert werden, jedoch nicht auf dem Ausgangsserver. Dies schließt Proxyserver und den Client ein, von dem die Anforderung stammt.

None 4

Der Ausgabecache wird für die angeforderte Seite deaktiviert. Dieser Wert entspricht dem NoCache-Enumerationswert.

Server 3

Der Ausgabecache befindet sich auf dem Webserver, auf dem die Anforderung verarbeitet wurde. Dieser Wert entspricht dem Server-Enumerationswert.

ServerAndClient 5

Der Ausgabecache kann nur auf dem Ausgangsserver oder dem anfordernden Client gespeichert werden. Die Zwischenspeicherung der Antwort durch Proxyserver ist nicht zulässig. Dieser Wert entspricht der Kombination des Private-Enumerationswerts und Server-Enumerationswerts.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie der Serverwert verwendet wird, um anzugeben, dass die Seite auf dem Webserver zwischengespeichert werden soll, auf dem die Anforderung verarbeitet wird.

<%@ 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>

Hinweise

Die von dieser Enumeration angegebenen Werte werden verwendet, wenn Sie eine @ OutputCache -Direktive in eine ASPX-Datei einschließen. Diese Werte bestimmen den Cachespeicherort für die Seitenausgabe. Weitere Informationen finden Sie unter Zwischenspeichern ASP.NET Seiten.

Gilt für:

Weitere Informationen