Language

HttpCacheValidateHandler 代理人

定義

キャッシュからアイテムが提供される前に、キャッシュされた項目を検証するために呼び出されるメソッドを表します。

public delegate void HttpCacheValidateHandler(HttpContext ^ context, System::Object ^ data, HttpValidationStatus % validationStatus);
public delegate void HttpCacheValidateHandler(HttpContext context, object data, ref HttpValidationStatus validationStatus);
type HttpCacheValidateHandler = delegate of HttpContext * obj * HttpValidationStatus -> unit
Public Delegate Sub HttpCacheValidateHandler(context As HttpContext, data As Object, ByRef validationStatus As HttpValidationStatus)

パラメーター

context
HttpContext

現在の要求に関する情報を格納している HttpContext オブジェクト。

data
Object

キャッシュされた項目の検証に使用されるユーザー指定のデータ。

validationStatus
HttpValidationStatus

HttpValidationStatus列挙値。 デリゲートは、検証の結果を示すためにこの値を設定する必要があります。

例

次のコード例は、新しいキャッシュ検証デリゲートをアプリケーションに追加する方法を示しています。


private void Page_Load(Object sender, EventArgs e)
{
   Response.Cache.AddValidationCallback(new HttpCacheValidateHandler(CacheValidate1), null);
}

public void CacheValidate1(HttpContext context, Object data, ref HttpValidationStatus status) 
{
   if (context.Request.QueryString["Valid"] == "false") 
   {
      status = HttpValidationStatus.Invalid;
   }
   else 
   {
      status = HttpValidationStatus.Valid;
   }
}

Private Sub Page_Load(sender As Object, e As EventArgs)
   Response.Cache.AddValidationCallback(New HttpCacheValidateHandler(AddressOf CacheValidate1), Nothing)
End Sub
   
Public Sub CacheValidate1(context As HttpContext, data As Object, ByRef status As HttpValidationStatus)
   If context.Request.QueryString("Valid") = "false" Then
      status = HttpValidationStatus.Invalid
   Else
      status = HttpValidationStatus.Valid
   End If
End Sub

注釈

キャッシュされた項目が HttpCacheValidateHandler メソッドのスコープ内で無効になった場合、キャッシュから削除され、項目の要求はキャッシュ ミスとして扱われます。

拡張メソッド

名前 説明
GetMethodInfo(Delegate)

指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。

適用対象

こちらもご覧ください