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 ve výstupní mezipaměti pro prostředek.
public enum class OutputCacheLocation
public enum OutputCacheLocation
type OutputCacheLocation =
Public Enum OutputCacheLocation
- Dědičnost
Pole
Any | 0 | Výstupní mezipaměť může být umístěná v 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žená v libovolném zařízení s podporou mezipaměti HTTP 1.1, než je server 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 serveru původu nebo v žádajícím klientovi. Proxy servery nemají povolené ukládat odpověď do mezipaměti. Tato hodnota odpovídá kombinaci hodnot výčtu Private a Server . |
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 v 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 určené tímto výčtem se použijí 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.