是否Page.Load是Page.Load生命周期中最早的一点,以添加Response.AppendHeader?
答案 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”标题会 与回复一起发送。
请谨慎使用缓存控制标头;)