HttpCachePolicy.AddValidationCallback Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Inscrit un rappel de validation pour la réponse actuelle.
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)
Paramètres
- handler
- HttpCacheValidateHandler
Valeur de HttpCacheValidateHandler.
- data
- Object
Données arbitraires fournies par l'utilisateur repassées au délégué AddValidationCallback(HttpCacheValidateHandler, Object).
Exceptions
Le handler
spécifié a la valeur null
.
Exemples
L’exemple de code suivant montre comment ajouter un délégué pour valider une requête en fonction des valeurs de chaîne de requête.
<%@ 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>
Remarques
La AddValidationCallback méthode fournit un mécanisme permettant de vérifier la réponse par programmation dans le cache avant que la réponse soit retournée au client par le cache de sortie.
Avant que la réponse soit servie à partir du cache du serveur web, tous les gestionnaires inscrits sont interrogés pour garantir la validité des ressources. Si un gestionnaire définit un indicateur indiquant que la réponse mise en cache n’est pas valide, l’entrée est marquée comme non valide et expulsée du cache. Dans ce cas, ainsi que lorsque tout gestionnaire indique que la réponse mise en cache doit être ignorée pour cette demande, la requête est ensuite gérée comme si elle était une erreur de cache.
AddValidationCallbackest introduit dans le .NET Framework version 3.5. Pour plus d’informations, consultez Versions et dépendances.