Page.Load是页面生命周期中最早的一点,以添加Response.AppendHeader吗?

时间:2010-03-04 22:34:52

标签: asp.net

是否Page.Load是Page.Load生命周期中最早的一点,以添加Response.AppendHeader?

2 个答案:

答案 0 :(得分:2)

ASP.NET页面按此顺序运行以下事件:

PreInit
Init
InitComplete
PreLoad
Load
LoadComplete
PreRender
SaveStateComplete
Render
Unload

Response在触发PreInit之前已连线,因此您可以根据需要立即拨打Response.AddHeader

答案 1 :(得分:1)

您可以在发送标头之前随时致电Response.AppendHeader()。在Load之前有几个事件你可以调用它。Init将是显而易见的事件。

你准备做什么?

编辑:您可以在评论中随处添加标题,但应阅读AppendHeader的文档,具体为:

  

如果您使用AppendHeader方法   发送缓存特定的标头和   同时使用缓存对象模型   (缓存)设置缓存策略,HTTP   与...相关的响应标头   缓存(Cache-Control,Expires,   最后修改,Pragma和Vary)可能   在缓存对象模型时被删除   用来。此行为启用ASP.NET   保持最严格的限制   设置。例如,考虑一个页面   包括用户控件。如果那些   控件有缓冲的缓存   策略,限制性最强的缓存   政策将被使用。如果是一个用户   控件设置标题   “缓存控制:公共”和另一个   用户控件设置更严格   标题“缓存控制:私有”通过   调用SetCacheability,然后调用   “Cache-Control:Private”标题会   与回复一起发送。

请谨慎使用缓存控制标头;)