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
- handler
Der HttpCacheValidateHandler-Wert.
- data
Beliebige vom Benutzer angegebene Daten, die zurück an den AddValidationCallback-Delegaten übergeben werden.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
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