我正在使用VSTS 2008 + C#+ .Net 3.5来开发ASP.Net。我想转储返回给客户端的特定aspx文件的所有响应头。任何想法如何轻松地做到这一点?
我知道如何使用Response.Headers集合,但我的困惑是在哪里枚举以获得准确的响应标头?例如,如果我在Page_Load中枚举,则不能枚举所有响应头,但如果我在Response.Close之后枚举,则会抛出异常。
有什么建议吗?
EDIT1:在VSTS 2008调试模式下使用OnPreRender时遇到以下异常(即按F5进行调试)
{“此操作需要IIS集成管道模式。”}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
using (StreamWriter writer = new StreamWriter("dump123.txt", true))
{
writer.WriteLine(DateTime.UtcNow + " Response headers");
foreach (string item in HttpContext.Current.Response.Headers.Keys)
{
writer.WriteLine(item + " : " + HttpContext.Current.Response.Headers[item]);
}
}
}
提前谢谢,
乔治
答案 0 :(得分:3)
OnPreRender怎么样?这就是在页面呈现之前,并且在所有回发处理发生之后。到那时,一切都应该到位。
马克
答案 1 :(得分:0)
[对于原始问题,这可能已经过时了,但为了可能降落在这里的新人的利益而添加这个答案]
更改Web项目的属性以使用本地IIS进行调试,如下所示:
可以找到有关设置的详细教程HERE
现在当你点击F5时,本地IIS将用于调试,你不会得到平台不支持异常/抱怨所需的集成管道模式。