OutputCacheLocation Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje platné hodnoty pro řízení umístění odpovědi HTTP uložené v mezipaměti výstupu pro prostředek.
public enum class OutputCacheLocation
public enum OutputCacheLocation
type OutputCacheLocation =
Public Enum OutputCacheLocation
- Dědičnost
Pole
| Name | Hodnota | Description |
|---|---|---|
| Any | 0 | Výstupní mezipaměť může být umístěna v klientovi prohlížeče (kde žádost pochází), na proxy serveru (nebo na 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, kde požadavek pochází. Tato hodnota odpovídá hodnotě výčtu Private . |
| Downstream | 2 | Výstupní mezipaměť může být uložena v libovolném zařízení s podporou mezipaměti HTTP 1.1, než je původní server. To zahrnuje proxy servery a klienta, který požadavek provedl. |
| Server | 3 | Výstupní mezipaměť se nachází na webovém serveru, kde byl požadavek zpracován. Tato hodnota odpovídá hodnotě výčtu Server . |
| None | 4 | Výstupní mezipaměť je pro požadovanou stránku zakázaná. Tato hodnota odpovídá hodnotě výčtu NoCache . |
| ServerAndClient | 5 | Výstupní mezipaměť může být uložena pouze na zdrojovém serveru nebo na žá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 výčtu. |
Příklady
Následující příklad kódu ukazuje, jak se hodnota serveru používá k určení, že stránka by měla být uložena do mezipaměti na webovém serveru, kde je požadavek zpracován.
<%@ 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 zadané v tomto výčtu se použijí při zahrnutí @ OutputCache direktivy do souboru .aspx. Tyto hodnoty určují umístění mezipaměti pro výstup stránky. Další informace najdete v tématu Caching ASP.NET Pages.