HttpCachePolicy.AddValidationCallback(HttpCacheValidateHandler, Object) Methode

Definition

Registriert einen Validierungsrückruf für die aktuelle Antwort.Registers a validation callback for the current response.

public:
 void AddValidationCallback(System::Web::HttpCacheValidateHandler ^ handler, System::Object ^ data);
public void AddValidationCallback (System.Web.HttpCacheValidateHandler handler, object data);
member this.AddValidationCallback : System.Web.HttpCacheValidateHandler * obj -> unit
Public Sub AddValidationCallback (handler As HttpCacheValidateHandler, data As Object)

Parameter

data
Object

Beliebige vom Benutzer angegebene Daten, die zurück an den AddValidationCallback(HttpCacheValidateHandler, Object)-Delegaten übergeben werden.The arbitrary user-supplied data that is passed back to the AddValidationCallback(HttpCacheValidateHandler, Object) delegate.

Ausnahmen

Der angegebene handler ist gleich null.The specified handler is null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie einen Delegaten hinzufügen, um eine Anforderung basierend auf Abfrage Zeichen folgen Werten zu überprüfen.The following code example demonstrates how to add a delegate to validate a request based on query string values.

<%@ Page Language="C#" %>
<%@ OutputCache VaryByParam="none" Duration="600" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script language="c#" runat="server">

   static string validationstate;
 
   public void Page_Load()
   {
      Response.Cache.AddValidationCallback(new HttpCacheValidateHandler(ValidateCache), null);
      stamp.InnerHtml = DateTime.Now.ToString("r");
   }

   public static void ValidateCache(HttpContext context, Object data, ref HttpValidationStatus status) 
   {
      if (context.Request.QueryString["Valid"] == "false") 
      {
         status = HttpValidationStatus.Invalid;
      } 
      else if (context.Request.QueryString["Valid"] == "ignore") 
      {
         status = HttpValidationStatus.IgnoreThisRequest;
      } 
      else 
      {
         status = HttpValidationStatus.Valid;
      }
   }

</script>
<%@ Page Language="VB" %>
<%@ OutputCache VaryByParam="none" Duration="600" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
   shared validationstate As String

   Public Sub Page_Load(sender As Object, e As EventArgs)
      Response.Cache.AddValidationCallback(new HttpCacheValidateHandler(AddressOf Me.ValidateCache), nothing)
      stamp.InnerHtml = DateTime.Now.ToString("r")
   End Sub

   Public Shared Sub ValidateCache(context As HttpContext, data As Object, ByRef status as HttpValidationStatus)
      If (context.Request.QueryString("Valid") = "false") Then
         status = HttpValidationStatus.Invalid
      Elseif (context.Request.QueryString("Valid") = "ignore") Then
         status = HttpValidationStatus.IgnoreThisRequest
      Else
         status = HttpValidationStatus.Valid
      End If
   End Sub

</script>

Hinweise

Die AddValidationCallback -Methode stellt einen Mechanismus bereit, mit dem die Antwort Programm gesteuert im Cache überprüft werden kann, bevor die Antwort vom Ausgabe Cache an den Client zurückgegeben wird.The AddValidationCallback method provides a mechanism to check the response programmatically in the cache before the response is returned to the client by the output cache.

Bevor die Antwort aus dem Webserver Cache bereitgestellt wird, werden alle registrierten Handler abgefragt, um die Ressourcen Gültigkeit sicherzustellen.Before the response is served from the Web server cache, all registered handlers are queried to ensure resource validity. Wenn ein Handler ein Flag festlegt, das angibt, dass die zwischengespeicherte Antwort ungültig ist, wird der Eintrag als ungültig markiert und aus dem Cache entfernt.If any handler sets a flag indicating that the cached response is not valid, the entry is marked as not valid and expelled from the cache. Wenn in diesem Fall ein beliebiger Handler anzeigt, dass die zwischengespeicherte Antwort für diese Anforderung ignoriert werden soll, wird die Anforderung so verarbeitet, als ob es sich um einen Cache Fehler handelt.In this case, as well as when any handler indicates that the cached response should be ignored for this request, the request is then handled as if it were a cache miss.

AddValidationCallbackwird in der .NET Framework Version 3,5 eingeführt.AddValidationCallback is introduced in the .NET Framework version 3.5. Weitere Informationen finden Sie unter Versionen und Abhängigkeiten.For more information, see Versions and Dependencies.

Gilt für: