OutputCacheLocation Výčet

Definice

Určuje platné hodnoty pro řízení umístění odpovědi HTTP v mezipaměti výstupu pro prostředek.

public enum class OutputCacheLocation
public enum OutputCacheLocation
type OutputCacheLocation = 
Public Enum OutputCacheLocation
Dědičnost
OutputCacheLocation

Pole

Any 0

Výstupní mezipaměť může být umístěná na klientovi prohlížeče (odkud požadavek pochází), na proxy serveru (nebo jiném serveru), který se účastní požadavku, nebo na serveru, na kterém byl požadavek zpracován. Tato hodnota odpovídá hodnotě výčtu Public .

Client 1

Výstupní mezipaměť se nachází v klientovi prohlížeče, ze kterého požadavek pochází. Tato hodnota odpovídá hodnotě výčtu Private .

Downstream 2

Výstupní mezipaměť může být uložena v jakémkoli jiném zařízení s podporou mezipaměti HTTP 1.1 než na serveru původu. To zahrnuje proxy servery a klienta, který žádost vytvořil.

None 4

Výstupní mezipaměť je pro požadovanou stránku zakázaná. Tato hodnota odpovídá hodnotě výčtu NoCache .

Server 3

Výstupní mezipaměť se nachází na webovém serveru, na kterém byl požadavek zpracován. Tato hodnota odpovídá hodnotě výčtu Server .

ServerAndClient 5

Výstupní mezipaměť může být uložena pouze na zdrojovém serveru nebo v žádajícím klientovi. Proxy servery nemají povoleno ukládat odpověď do mezipaměti. Tato hodnota odpovídá kombinaci hodnot výčtu Private a Server hodnot.

Příklady

Následující příklad kódu ukazuje, jak server hodnota se používá k určení, že stránka má být uložena do mezipaměti na webovém serveru, kde je žádost zpracována.

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

Poznámky

Hodnoty určené tímto výčtem se používají při zahrnutí direktivy @ OutputCache do souboru .aspx. Tyto hodnoty určují umístění mezipaměti pro výstup stránky. Další informace najdete v tématu Ukládání ASP.NET stránek do mezipaměti.

Platí pro

Viz také