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á náhradu 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 prvek, 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 webovou stránku s výstupní mezipamětí. Když se stránka načte, zobrazí se uživateli aktuální datum a čas v popisku. Tato část stránky se ukládá do mezipaměti a aktualizuje se každých 60 sekund. Když se Substitution ovládací prvek spustí, volá metodu GetCurrentDateTime , která se musí shodovat s podpisem delegáta HttpResponseSubstitutionCallback . Řetězec vrácený metodou GetCurrentDateTime se uživateli zobrazí. 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 v kombinaci s metodou WriteSubstitution se používá k vykreslování obsahu post-cache pro ovládací Substitution prvky a AdRotator ovládací prvky.
Pro ovládací Substitution prvek použijte MethodName vlastnost k určení názvu metody zpětného volání vyvolat při Substitution spuštění ovládacího prvku. Zadaná metoda zpětného volání 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 Pro ovládací prvek je vykreslování nezávislé na ukládání stránky do mezipaměti, pokud není pro událost určena 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í
| Name | Description |
|---|---|
| GetMethodInfo(Delegate) |
Získá objekt, který představuje metodu reprezentovanou zadaným delegátem. |