HttpResponseSubstitutionCallback Delegat

Definition

Stellt die Methode für das Behandeln von Ersetzungen nach dem Zwischenspeichern dar.

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 

Parameter

context
HttpContext

Der HttpContext, der die HTTP-Anforderungsinformation für die Seite mit dem Steuerelement enthält, für das eine Ersetzung nach dem Zwischenspeichern erforderlich ist.

Rückgabewert

Der vor dem Senden an den Client in die zwischengespeicherte Antwort eingefügte Inhalt.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie einer in der Ausgabe zwischengespeicherten Webseite programmgesteuert ein Substitution Steuerelement hinzufügen. Wenn die Seite geladen wird, werden dem Benutzer das aktuelle Datum und die aktuelle Uhrzeit in einer Bezeichnung angezeigt. Dieser Abschnitt der Seite wird zwischengespeichert und alle 60 Sekunden aktualisiert. Wenn das Substitution Steuerelement ausgeführt wird, ruft es die GetCurrentDateTime -Methode auf, die mit der Signatur für den HttpResponseSubstitutionCallback Delegaten übereinstimmen muss. Die von der GetCurrentDateTime -Methode zurückgegebene Zeichenfolge wird dem Benutzer angezeigt. Dieser Abschnitt der Seite wird nicht zwischengespeichert und bei jeder Aktualisierung der Seite aktualisiert. Die MethodName -Eigenschaft des Substitution -Steuerelements ruft den Namen der Rückrufmethode ab oder legt ihn fest.

<%@ 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>

Hinweise

Der HttpResponseSubstitutionCallback Delegat wird in Kombination mit der WriteSubstitution -Methode zum Rendern von Postcacheinhalten für die Substitution Steuerelemente und AdRotator verwendet.

Verwenden Sie für das Substitution Steuerelement die MethodName -Eigenschaft, um den Namen der Rückrufmethode anzugeben, die beim Ausführen des Substitution Steuerelements aufgerufen werden soll. Die von Ihnen angegebene Rückrufmethode muss eine statische Methode auf der Seite oder im Benutzersteuerelement sein, das das Substitution Steuerelement enthält. Die Signatur für die Rückrufmethode muss mit der Signatur für einen HttpResponseSubstitutionCallback Delegaten übereinstimmen, der einen HttpContext Parameter akzeptiert und eine Zeichenfolge zurückgibt.

Für das AdRotator -Steuerelement erfolgt das Rendern unabhängig vom Seitenzwischenspeichern, es sei denn, es wird ein Ereignishandler für das AdCreated Ereignis bereitgestellt. Wenn kein AdCreated Ereignishandler vorhanden ist, wird der Inhalt nach der AdRotator Cacheersetzung gerendert.

Erweiterungsmethoden

GetMethodInfo(Delegate)

Ruft ein Objekt ab, das die Methode darstellt, die vom angegebenen Delegaten dargestellt wird.

Gilt für:

Weitere Informationen