HttpCachePolicy.AddValidationCallback 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 응답에 대한 유효성 검사 콜백을 등록합니다.
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)
매개 변수
- handler
- HttpCacheValidateHandler
HttpCacheValidateHandler 값입니다.
- data
- Object
대리자에게 다시 AddValidationCallback(HttpCacheValidateHandler, Object) 전달되는 임의의 사용자 제공 데이터입니다.
예외
지정된 handler 값은 .입니다 null.
예제
다음 코드 예제에서는 쿼리 문자열 값에 따라 요청의 유효성을 검사하는 대리자를 추가하는 방법을 보여 줍니다.
<%@ 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>
설명
이 메서드는 AddValidationCallback 응답이 출력 캐시에 의해 클라이언트로 반환되기 전에 캐시에서 프로그래밍 방식으로 응답을 확인하는 메커니즘을 제공합니다.
웹 서버 캐시에서 응답이 제공되기 전에 등록된 모든 처리기를 쿼리하여 리소스의 유효성을 확인합니다. 처리기가 캐시된 응답이 유효하지 않음을 나타내는 플래그를 설정하는 경우 항목이 유효하지 않은 것으로 표시되고 캐시에서 제거됩니다. 이 경우 및 처리기가 이 요청에 대해 캐시된 응답을 무시해야 한다고 나타내는 경우 요청은 캐시 누락인 것처럼 처리됩니다.
AddValidationCallback .NET Framework 버전 3.5에 도입되었습니다. 자세한 내용은 버전 및 종속성을 참조하세요.