Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在ASP.Net中转储响应头_C#_Asp.net_.net_Visual Studio 2008_Httpresponse - Fatal编程技术网

C# 如何在ASP.Net中转储响应头

C# 如何在ASP.Net中转储响应头,c#,asp.net,.net,visual-studio-2008,httpresponse,C#,Asp.net,.net,Visual Studio 2008,Httpresponse,我正在使用VSTS2008+C++.NET3.5开发ASP.Net。我想转储返回给客户端的特定aspx文件的所有响应头。有没有办法轻松做到这一点 我知道如何使用Response.Headers集合,但我的困惑是如何枚举以获得准确的响应头?例如,如果我在Page_Load中枚举,则不能枚举所有响应头,但如果我在response.Close之后枚举,则会引发异常 有什么建议吗 EDIT1:在VSTS 2008调试模式下使用OnPreRender时遇到以下异常(即按F5进行调试) {“此操作需要IIS

我正在使用VSTS2008+C++.NET3.5开发ASP.Net。我想转储返回给客户端的特定aspx文件的所有响应头。有没有办法轻松做到这一点

我知道如何使用Response.Headers集合,但我的困惑是如何枚举以获得准确的响应头?例如,如果我在Page_Load中枚举,则不能枚举所有响应头,但如果我在response.Close之后枚举,则会引发异常

有什么建议吗

EDIT1:在VSTS 2008调试模式下使用OnPreRender时遇到以下异常(即按F5进行调试)

{“此操作需要IIS集成管道模式。”}

提前感谢,,
乔治

OnPreRender怎么样??这就在页面呈现之前,以及所有回发处理完成之后。到那时一切都应该准备就绪


Marc

[对于最初的问题来说,这可能已经过时了,但是添加这个答案是为了让可能在这里登陆的新手受益]

更改web项目的属性以使用本地IIS进行调试,如下所示:

  • 浏览到项目属性(在中的项目节点上单击鼠标右键) 解决方案资源管理器->属性,或选择项目节点后,按 ALT+ENTER)
  • 选择“构建”选项卡
  • 在服务器部分,选择单选按钮“使用本地IIS服务器”在本地IIS中设置虚拟目录,并在此处的设置中指向该URL
  • 可以找到有关设置的详细教程


    现在,当您点击F5时,本地IIS将用于调试,您将无法获得平台不受支持的异常/对所需的集成管道模式进行投诉。

    我遇到了不受支持的异常。我已经在我的原始问题“编辑1”部分发布了我的代码,有什么想法吗?错误消息是否意味着我必须部署到IIS中?我在IIS中尝试过同样的代码。请帮助确认。如果它是一个ASP.NET应用程序,如您所说,它托管在IIS中!它是在IIS7上托管的吗??在这种情况下,您需要确保您的虚拟目录使用“经典ASP.NET模式”(至少在我的经验中是这样)。我通常不会在IIS中托管它,我只需按F5调试它,稳定后,我将部署到IIS 7。如果按F5,应用程序应在VSTS2008内置的ASP.Net开发服务器(而不是IIS)中运行。您认为我的问题是由VSTS2008内置的ASP.Net开发服务器不支持OnPreRender方法引起的吗?还有其他意见吗?2.在哪里设置“经典ASP.NET模式”?在VSTS 2008或IIS 7?Hi Marc中,我找到了如何在IIS 7中设置经典模式或集成模式,但找不到如何在VSTS 2008内置ASP.Net开发服务器中设置,有什么想法吗?
    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]);
                    }
                }
    
            }