HttpResponseSubstitutionCallback Делегат

Определение

Представляет метод, который обрабатывает подстановку пост-кэша.Represents the method that handles post-cache substitution.

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 

Параметры

context
HttpContext

Объект HttpContext, содержащий сведения о HTTP-запросе для страницы с элементом управления, для которого требуется подстановка пост-кэша.The HttpContext that contains the HTTP request information for the page with the control that requires post-cache substitution.

Возвращаемое значение

String

Содержимое вставлено в кэш откликов перед отправкой клиенту.The content inserted into the cached response before being sent to the client.

Наследование
HttpResponseSubstitutionCallback

Примеры

В следующем примере кода показано, как программным Substitution способом добавить элемент управления на веб-страницу с кэшированием выходных данных.The following code example demonstrates how to add a Substitution control programmatically to an output-cached Web page. При загрузке страницы текущие дата и время отображаются пользователю в метке.When the page loads, the current date and time are displayed to the user in a label. Этот раздел страницы кэшируется и обновляется каждые 60 секунд.This section of the page is cached and updated every 60 seconds. При выполнении GetCurrentDateTimeэлементауправления вызывается метод, который должен HttpResponseSubstitutionCallback соответствовать сигнатуре делегата. SubstitutionWhen the Substitution control executes, it calls the GetCurrentDateTime method, which must match the signature for the HttpResponseSubstitutionCallback delegate. Строка, возвращаемая GetCurrentDateTime методом, отображается пользователю.The string that is returned by the GetCurrentDateTime method is displayed to the user. Этот раздел страницы не кэшируется и обновляется каждый раз при обновлении страницы.This section of the page is not cached and is updated each time the page is refreshed. MethodName СвойствоSubstitution элемента управления получает или задает имя метода обратного вызова.The MethodName property of the Substitution control gets or sets the name of the callback method.

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

Комментарии

Делегат в сочетании WriteSubstitution с методом используется для отрисовки содержимого Substitution после кэширования элементов управления и AdRotator. HttpResponseSubstitutionCallbackThe HttpResponseSubstitutionCallback delegate, in combination with the WriteSubstitution method, is used for rendering post-cache content for the Substitution and AdRotator controls.

Для элемента управления MethodName используйте свойство, чтобы указать имя Substitution метода обратного вызова, который будет вызываться при выполнении элемента управления. SubstitutionFor the Substitution control, use the MethodName property to specify the name of the callback method to invoke when the Substitution control executes. Указываемый метод обратного вызова должен быть статическим методом на странице или в пользовательском элементе управления, который содержит Substitution элемент управления.The callback method that you specify must be a static method on the page or on the user control that contains the Substitution control. Сигнатура для метода обратного вызова должна соответствовать сигнатуре HttpResponseSubstitutionCallback делегата, который HttpContext принимает параметр и возвращает строку.The signature for the callback method must match the signature for an HttpResponseSubstitutionCallback delegate that takes an HttpContext parameter and returns a string.

Для элемента управления отрисовка не зависит от кэширования страницы, если AdCreated для события не предоставлен обработчик событий. AdRotatorFor the AdRotator control, rendering is independent of the page caching unless an event handler is provided for the AdCreated event. AdRotator Если обработчик AdCreated событий отсутствует, для отрисовки содержимого используется подстановка после кэширования.If no AdCreated event handler is present, post-cache substitution is used to render the AdRotator content.

Методы расширения

GetMethodInfo(Delegate)

Получает объект, представляющий метод, представленный указанным делегатом.Gets an object that represents the method represented by the specified delegate.

Применяется к

Дополнительно