HttpCachePolicy.AddValidationCallback Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Registriert einen Validierungsrückruf für die aktuelle Antwort.
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
- handler
- HttpCacheValidateHandler
Der HttpCacheValidateHandler-Wert.
- data
- Object
Beliebige vom Benutzer angegebene Daten, die zurück an den AddValidationCallback(HttpCacheValidateHandler, Object)-Delegaten übergeben werden.
Ausnahmen
Der angegebene handler
ist gleich null
.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Sie eine Stellvertretung hinzufügen, um eine Anforderung basierend auf Abfragezeichenfolgenwerten zu überprüfen.
<%@ 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, um die Antwort programmgesteuert im Cache zu überprüfen, bevor die Antwort vom Ausgabecache an den Client zurückgegeben wird.
Bevor die Antwort vom Webservercache bereitgestellt wird, werden alle registrierten Handler abgefragt, um die Gültigkeit der Ressource sicherzustellen. Wenn ein Handler ein Flag festlegt, das angibt, dass die zwischengespeicherte Antwort ungültig ist, wird der Eintrag als ungültig gekennzeichnet und aus dem Cache entfernt. In diesem Fall sowie wenn ein beliebiger Handler angibt, dass die zwischengespeicherte Antwort für diese Anforderung ignoriert werden soll, wird die Anforderung dann behandelt, als ob es sich um einen Cachefehler handelt.
AddValidationCallbackwird in der .NET Framework Version 3.5 eingeführt. Weitere Informationen finden Sie unter Versionen und Abhängigkeiten.