HttpCacheValidateHandler Делегат
Определение
Представляет метод, который вызывается для проверки кэшированного элемента до того, как элемент будет передан из кэша.Represents a method that is called to validate a cached item before the item is served from the cache.
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, содержащий сведения о текущем запросе.The HttpContext object containing information about the current request.
- data
- Object
Предоставленные пользователем данные, используемые для проверки кэшированного элемента.User-supplied data used to validate the cached item.
- validationStatus
- HttpValidationStatus
Значение перечисления HttpValidationStatus.An HttpValidationStatus enumeration value. Делегат задает это значение для отображения результата проверки.Your delegate should set this value to indicate the result of the validation.
- Наследование
Примеры
В следующем примере кода показано, как добавить новый делегат проверки кэша в приложение.The following code example demonstrates how to add a new cache validation delegate to an application.
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 метода, он удаляется из кэша, а запрос элемента обрабатывается как промахи в кэше.If a cached item is invalidated within the scope of the HttpCacheValidateHandler method, it is evicted from the cache and the request for the item is treated as a cache miss.
Методы расширения
GetMethodInfo(Delegate) |
Получает объект, представляющий метод, представленный указанным делегатом.Gets an object that represents the method represented by the specified delegate. |