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 HttpCacheValidateHandler .
- data
- Object
Données arbitraires fournies par l’utilisateur qui sont renvoyées au AddValidationCallback(HttpCacheValidateHandler, Object) délégué.
Exceptions
La valeur spécifiée handler est 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 ne soit retournée au client par le cache de sortie.
Avant que la réponse ne soit traitée à 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 quand un gestionnaire indique que la réponse mise en cache doit être ignorée pour cette requête, la requête est ensuite gérée comme s’il s’agissait d’une erreur de cache.
AddValidationCallback est introduit dans .NET Framework version 3.5. Pour plus d’informations, consultez Versions et dépendances.