次の方法で共有


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)

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

適用対象

こちらもご覧ください