HttpCachePolicy.AddValidationCallback Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rejestruje wywołanie zwrotne weryfikacji dla bieżącej odpowiedzi.
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)
Parametry
- handler
- HttpCacheValidateHandler
Wartość HttpCacheValidateHandler .
- data
- Object
Dowolne dane dostarczone przez użytkownika, które są przekazywane z powrotem do delegata AddValidationCallback(HttpCacheValidateHandler, Object) .
Wyjątki
Określona wartość handler to null.
Przykłady
W poniższym przykładzie kodu pokazano, jak dodać delegata w celu zweryfikowania żądania na podstawie wartości ciągu zapytania.
<%@ 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>
Uwagi
Metoda AddValidationCallback udostępnia mechanizm sprawdzania odpowiedzi programowo w pamięci podręcznej przed zwróceniem odpowiedzi do klienta przez pamięć podręczną danych wyjściowych.
Przed udostępnieniem odpowiedzi z pamięci podręcznej serwera sieci Web wszystkie zarejestrowane programy obsługi są odpytywane w celu zapewnienia poprawności zasobu. Jeśli którykolwiek program obsługi ustawia flagę wskazującą, że buforowana odpowiedź jest nieprawidłowa, wpis jest oznaczony jako nieprawidłowy i wydalony z pamięci podręcznej. W takim przypadku, jak również wtedy, gdy dowolny program obsługi wskazuje, że buforowana odpowiedź powinna być ignorowana dla tego żądania, żądanie jest następnie obsługiwane tak, jakby było to chybił pamięci podręcznej.
AddValidationCallback jest wprowadzana w programie .NET Framework w wersji 3.5. Aby uzyskać więcej informacji, zobacz Wersje i zależności.