HttpCachePolicy.AddValidationCallback Méthode

Définition

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

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.

S’applique à