如何读取ASP.NET发送给客户端的所有HTTP-Header?

时间:2009-08-17 13:53:39

标签: asp.net

出于日志记录的目的,我想阅读 所有 HTTP-Header,它们会在我的应用程序中的任何位置发送到客户端,以便将它们记录到数据库中。但重定向上的 位置标头始终缺失 。也许还有更多的遗失,我永远不会知道。我如何获得所有标题?

3 个答案:

答案 0 :(得分:1)

围绕访问HttpResponse对象的Headers集合存在很多问题。基本上你需要在“集成管道模式”下运行IIS7。如果您可以这样做,您可以在适当的时候查看Response.Headers集合。在Global.asax文件中尝试这样的事情:

 protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
    {
        foreach (var header in Response.Headers)
        {
            // Log to database
            insertIntoDatabase(header.ToString())
        }
    }

如果你没有运行IIS7 ......那么你可能会因为一个简单的代码解决方案而运气不好。

答案 1 :(得分:0)

Request.ServerVariables获取值。

来源:Developer's Home

答案 2 :(得分:-2)

如果你对它们感到绝望,你可以通过代理捕获它们。虽然我不确切地知道你为什么要这样做。