ASP.NETでサーバー上のキャッシュされたページをプログラムで無効にする方法と、本(MCTS Self-Paced Traing Kit(Exam 70 -515は)」)と言う:ASP.NETキャッシュ - プログラムでサーバーキャッシュを無効にする...混乱例
直接ページのキャッシュ バージョンが使用されているかどうかを制御するか、ページが動的に生成されるかどうか 、ValidateCacheOutput イベントに 応答と に有効な値を設定するにはHttpValidationStatus属性。
コードセグメントは、次のようになります。
public static void ValidateCacheOutput(HttpContext context, Object data,
ref HttpValidationStatus status)
{
if (context.Request.QueryString["Status"] != null)
{
string pageStatus = context.Request.QueryString["Status"];
if (pageStatus == "invalid")
status = HttpValidationStatus.Invalid;
else if (pageStatus == "ignore")
status = HttpValidationStatus.IgnoreThisRequest;
else
status = HttpValidationStatus.Valid;
}
else
status = HttpValidationStatus.Valid;
}
protected void Page_Load(object sender, EventArgs e)
{
Response.Cache.AddValidationCallback(
new HttpCacheValidateHandler(ValidateCacheOutput),
null);
}
誰かがこのコードが何をしているか私に説明してもらえますか?また、私が持っている主な質問は、私はキャッシュされたページが単にサーバーから返されたと考えているが、以下のコードはページのライフサイクルが呼び出されていることを示している(Page_Loadイベント)。キャッシュされたページが返された場合、ページのライフサイクルが呼び出されないので、私は混乱しています。そのため、Page_Loadイベントのコードはどのように起動しますか?
注:ここでsame exampleは、あなたがその一般的にキャッシュされたページで正しいブックが