HttpResponseSubstitutionCallback Delegát
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í.
Představuje metodu, která zpracovává nahrazení po mezipaměti.
public delegate System::String ^ HttpResponseSubstitutionCallback(HttpContext ^ context);
public delegate string HttpResponseSubstitutionCallback(HttpContext context);
type HttpResponseSubstitutionCallback = delegate of HttpContext -> string
Public Delegate Function HttpResponseSubstitutionCallback(context As HttpContext) As String
Parametry
- context
- HttpContext
Obsahuje HttpContext informace o požadavku HTTP pro stránku s ovládacím prvku, který vyžaduje nahrazení po mezipaměti.
Návratová hodnota
Obsah vložený do odpovědi uložené v mezipaměti před odesláním klientovi.
Příklady
Následující příklad kódu ukazuje, jak přidat Substitution ovládací prvek programově na výstupní mezipaměť webové stránky. Po načtení stránky se uživateli v popisku zobrazí aktuální datum a čas. Tato část stránky se ukládá do mezipaměti a aktualizuje každých 60 sekund.
Substitution Při spuštění ovládacího prvku volá metodu GetCurrentDateTime
, která se musí shodovat s podpisem delegátaHttpResponseSubstitutionCallback. Uživateli se zobrazí řetězec vrácený metodou GetCurrentDateTime
. Tento oddíl stránky není uložen v mezipaměti a aktualizuje se při každé aktualizaci stránky. Vlastnost MethodNameSubstitution ovládacího prvku získá nebo nastaví název metody zpětného volání.
<%@ outputcache duration="60" varybyparam="none" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server" language="C#">
void Page_Load(object sender, System.EventArgs e)
{
// Programmatically create a Substitution control.
Substitution Substitution1 = new Substitution();
// Specify the callback method.
Substitution1.MethodName = "GetCurrentDateTime";
// Add the Substitution control to the controls
// collection of PlaceHolder1.
PlaceHolder1.Controls.Add (Substitution1);
// Display the current date and time in the label.
// Output caching applies to this section of the page.
CachedDateLabel.Text = DateTime.Now.ToString();
}
// The Substitution control calls this method to retrieve
// the current date and time. This section of the page
// is exempt from output caching.
public static string GetCurrentDateTime (HttpContext context)
{
return DateTime.Now.ToString ();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Substitution Class Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>Substitution Constructor Example</h3>
<p>This section of the page is not cached:</p>
<asp:placeholder id="PlaceHolder1"
runat="Server">
</asp:placeholder>
<br />
<p>This section of the page is cached:</p>
<asp:label id="CachedDateLabel"
runat="Server">
</asp:label>
<br /><br />
<asp:button id="RefreshButton"
text="Refresh Page"
runat="Server">
</asp:button>
</form>
</body>
</html>
<%@ outputcache duration="60" varybyparam="none" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server" language="VB">
Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
' Programmatically create a Substitution control.
Dim Substitution1 As New Substitution
' Specify the callback method.
Substitution1.MethodName = "GetCurrentDateTime"
' Add the Substitution control to the controls
' collection of PlaceHolder1.
PlaceHolder1.Controls.Add(Substitution1)
' Display the current date and time in the label.
' Output caching applies to this section of the page.
CachedDateLabel.Text = DateTime.Now.ToString()
End Sub
' The Substitution control calls this method to retrieve
' the current date and time. This section of the page
' is exempt from output caching.
Shared Function GetCurrentDateTime(ByVal context As HttpContext) As String
Return DateTime.Now.ToString()
End Function
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Substitution Constructor Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>Substitution Constructor Example</h3>
<p>This section of the page is not cached:</p>
<asp:placeholder id="PlaceHolder1"
runat="Server">
</asp:placeholder>
<br />
<p>This section of the page is cached:</p>
<asp:label id="CachedDateLabel"
runat="Server">
</asp:label>
<br /><br />
<asp:button id="RefreshButton"
text="Refresh Page"
runat="Server">
</asp:button>
</form>
</body>
</html>
Poznámky
Delegát HttpResponseSubstitutionCallback se v kombinaci s metodou WriteSubstitution používá k vykreslení obsahu po mezipaměti pro Substitution ovládací prvky a AdRotator .
Substitution U ovládacího prvku použijte MethodName vlastnost k určení názvu metody zpětného volání, která se vyvolá při Substitution spuštění ovládacího prvku. Metoda zpětného volání, kterou zadáte, musí být statickou metodou na stránce nebo v uživatelském ovládacím prvku, který ovládací prvek obsahuje Substitution . Podpis metody zpětného volání se musí shodovat s podpisem delegáta HttpResponseSubstitutionCallback , který přebírá HttpContext parametr a vrací řetězec.
AdRotator U ovládacího prvku je vykreslování nezávislé na ukládání stránky do mezipaměti, pokud není pro událost poskytnuta obslužná rutina AdCreated události. Pokud není k dispozici žádná AdCreated obslužná rutina události, použije se k vykreslení AdRotator obsahu náhrada po mezipaměti.
Metody rozšíření
GetMethodInfo(Delegate) |
Získá objekt, který představuje metodu reprezentovanou zadaným delegátem. |