HttpResponseSubstitutionCallback Delegat
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje metodę, która obsługuje podstawianie po pamięci podręcznej.
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
Element HttpContext , który zawiera informacje o żądaniu HTTP dla strony z kontrolką, która wymaga podstawianie po pamięci podręcznej.
Wartość zwracana
Zawartość wstawiona do buforowanej odpowiedzi przed wysłaniem do klienta.
Przykłady
Poniższy przykład kodu pokazuje, jak programowo dodać kontrolkę Substitution do strony sieci Web z pamięcią podręczną danych wyjściowych. Gdy strona zostanie załadowana, bieżąca data i godzina zostaną wyświetlone użytkownikowi w etykiecie. Ta sekcja strony jest buforowana i aktualizowana co 60 sekund. Po wykonaniu kontrolki Substitution wywołuje metodę GetCurrentDateTime
, która musi być zgodna z podpisem delegata HttpResponseSubstitutionCallback . Ciąg zwracany przez metodę GetCurrentDateTime
jest wyświetlany użytkownikowi. Ta sekcja strony nie jest buforowana i jest aktualizowana za każdym razem, gdy strona zostanie odświeżona. Właściwość MethodName kontrolki Substitution pobiera lub ustawia nazwę metody wywołania zwrotnego.
<%@ 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>
Uwagi
Delegat HttpResponseSubstitutionCallback , w połączeniu WriteSubstitution z metodą, jest używany do renderowania zawartości po pamięci podręcznej dla Substitution kontrolek i AdRotator .
W przypadku kontrolki Substitution użyj MethodName właściwości , aby określić nazwę metody wywołania zwrotnego do wywołania podczas wykonywania kontrolki Substitution . Określona metoda wywołania zwrotnego musi być metodą statyczną na stronie lub w kontrolce użytkownika, która zawiera kontrolkę Substitution . Podpis metody wywołania zwrotnego musi być zgodny z podpisem delegata HttpResponseSubstitutionCallback , który przyjmuje HttpContext parametr i zwraca ciąg.
W przypadku kontrolki AdRotator renderowanie jest niezależne od buforowania strony, chyba że dla zdarzenia zostanie podana procedura obsługi zdarzeń AdCreated . Jeśli program obsługi zdarzeń nie AdCreated jest obecny, podstawianie po pamięci podręcznej jest używane do renderowania AdRotator zawartości.
Metody rozszerzania
GetMethodInfo(Delegate) |
Pobiera obiekt reprezentujący metodę reprezentowaną przez określonego delegata. |