Partager via


HttpResponseSubstitutionCallback Délégué

Définition

Représente la méthode qui gère la substitution post-cache.

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 

Paramètres

context
HttpContext

HttpContext qui contient les informations de demande HTTP pour la page avec le contrôle qui requiert la substitution post-cache.

Valeur renvoyée

Contenu inséré dans la réponse mise en cache avant d'être envoyé au client.

Exemples

L’exemple de code suivant montre comment ajouter un Substitution contrôle par programmation à une page Web mise en cache de sortie. Lorsque la page se charge, la date et l’heure actuelles sont affichées pour l’utilisateur dans une étiquette. Cette section de la page est mise en cache et mise à jour toutes les 60 secondes. Lorsque le Substitution contrôle s’exécute, il appelle la GetCurrentDateTime méthode, qui doit correspondre à la signature du HttpResponseSubstitutionCallback délégué. La chaîne retournée par la GetCurrentDateTime méthode s’affiche à l’utilisateur. Cette section de la page n’est pas mise en cache et est mise à jour chaque fois que la page est actualisée. La MethodName propriété du Substitution contrôle obtient ou définit le nom de la méthode de rappel.

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

Remarques

Le HttpResponseSubstitutionCallback délégué, en combinaison avec la WriteSubstitution méthode, est utilisé pour le rendu du contenu post-cache pour les Substitution contrôles et AdRotator .

Pour le Substitution contrôle, utilisez la MethodName propriété pour spécifier le nom de la méthode de rappel à appeler lors de l’exécution du Substitution contrôle. La méthode de rappel que vous spécifiez doit être une méthode statique sur la page ou sur le contrôle utilisateur qui contient le Substitution contrôle. La signature de la méthode de rappel doit correspondre à la signature d’un HttpResponseSubstitutionCallback délégué qui prend un HttpContext paramètre et retourne une chaîne.

Pour le contrôle, le AdRotator rendu est indépendant de la mise en cache de page, sauf si un gestionnaire d’événements est fourni pour l’événement AdCreated . Si aucun gestionnaire d’événements n’est AdCreated présent, la substitution post-cache est utilisée pour restituer le AdRotator contenu.

Méthodes d’extension

GetMethodInfo(Delegate)

Obtient un objet qui représente la méthode représentée par le délégué spécifié.

S’applique à

Voir aussi