Freigeben über


HttpCachePolicy.AddValidationCallback-Methode

Registriert einen Validierungsrückruf für die aktuelle Antwort.

Namespace: System.Web
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public Sub AddValidationCallback ( _
    handler As HttpCacheValidateHandler, _
    data As Object _
)
'Usage
Dim instance As HttpCachePolicy
Dim handler As HttpCacheValidateHandler
Dim data As Object

instance.AddValidationCallback(handler, data)
public void AddValidationCallback (
    HttpCacheValidateHandler handler,
    Object data
)
public:
void AddValidationCallback (
    HttpCacheValidateHandler^ handler, 
    Object^ data
)
public void AddValidationCallback (
    HttpCacheValidateHandler handler, 
    Object data
)
public function AddValidationCallback (
    handler : HttpCacheValidateHandler, 
    data : Object
)

Parameter

  • data
    Beliebige vom Benutzer angegebene Daten, die zurück an den AddValidationCallback-Delegaten übergeben werden.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentNullException

Der angegebene handler ist NULL (Nothing in Visual Basic).

Hinweise

Die AddValidationCallback-Methode bietet einen Mechanismus für die programmgesteuerte Überprüfung einer Antwort im Cache. Erst danach wird die Antwort aus dem Ausgabecache zurückgegeben.

Bevor die Antwort aus dem Cache des Webservers geliefert wird, werden alle registrierten Handler abgefragt, um die Gültigkeit der Ressource sicherzustellen. Wenn jeder Handler ein Flag festlegt, das angibt, dass die zwischengespeicherte Antwort nicht gültig ist, wird der Eintrag als nicht gültig markiert und aus dem Cache entfernt. In diesem Fall und wenn jeder Handler angibt, dass die zwischengespeicherte Antwort für diese Anforderung nicht berücksichtigt werden soll, wird die Anforderung wie ein fehlgeschlagener Cachezugriff behandelt.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie ein Delegat zum Validieren einer auf Abfragezeichenfolgenwerten beruhenden Anforderung hinzugefügt wird.

<%@ Page Language="VB" %>
<%@ OutputCache VaryByParam="none" Duration=600 %>
<Script runat="server">
   shared validationstate As String

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

   Public Shared Sub Validate(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>
<%@ OutputCache VaryByParam="none" Duration=600 %>
<Script Language="C#" runat="server">
   static string validationstate;
 
   public void Page_Load()
   {
      Response.Cache.AddValidationCallback(new HttpCacheValidateHandler(Validate), null);
      stamp.InnerHtml = DateTime.Now.ToString("r");
   }

   public static void Validate(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>

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

HttpCachePolicy-Klasse
HttpCachePolicy-Member
System.Web-Namespace