HttpResponseSubstitutionCallback Temsilci

Tanım

Önbellek sonrası değiştirme işlemini işleyen yöntemi temsil eder.

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 

Parametreler

context
HttpContext

HttpContext Önbellek sonrası değiştirme gerektiren denetime sahip sayfanın HTTP istek bilgilerini içeren.

Dönüş Değeri

İstemciye gönderilmeden önce önbelleğe alınan yanıta eklenen içerik.

Örnekler

Aşağıdaki kod örneği, çıktı önbelleğe alınmış bir Substitution Web sayfasına program aracılığıyla denetim eklemeyi gösterir. Sayfa yüklendiğinde, geçerli tarih ve saat kullanıcıya bir etikette görüntülenir. Sayfanın bu bölümü önbelleğe alınır ve her 60 saniyede bir güncelleştirilir. Substitution Denetim yürütürken, temsilcinin GetCurrentDateTime imzası HttpResponseSubstitutionCallback ile eşleşmesi gereken yöntemini çağırır. yöntemi tarafından GetCurrentDateTime döndürülen dize kullanıcıya görüntülenir. Sayfanın bu bölümü önbelleğe alınmaz ve sayfa her yenilendiğinde güncelleştirilir. Denetimin MethodNameSubstitution özelliği geri çağırma yönteminin adını alır veya ayarlar.

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

Açıklamalar

TemsilciHttpResponseSubstitutionCallback, yöntemiyle birlikte WriteSubstitution ve AdRotator denetimleri için önbellek sonrası içeriği işlemek için Substitution kullanılır.

Substitution Denetim yürütülürken Substitution çağrılacak geri çağırma yönteminin adını belirtmek için denetimi özelliğini kullanınMethodName. Belirttiğiniz geri çağırma yöntemi sayfada veya denetimi içeren Substitution kullanıcı denetiminde statik bir yöntem olmalıdır. Geri çağırma yönteminin imzası, parametre alan ve dize döndüren bir HttpResponseSubstitutionCallbackHttpContext temsilcinin imzası ile eşleşmelidir.

Denetim için AdRotator işleme, olay için bir olay işleyicisi sağlanmadığı sürece sayfa önbelleğinden AdCreated bağımsızdır. Olay işleyicisi yoksa AdCreated , içeriği işlemek AdRotator için önbellek sonrası değiştirme kullanılır.

Uzantı Metotları

GetMethodInfo(Delegate)

Belirtilen temsilci tarafından temsil edilen yöntemi temsil eden bir nesnesi alır.

Şunlara uygulanır

Ayrıca bkz.