标题出现在浏览器中但在Response对象中缺失

时间:2012-09-21 16:30:16

标签: c# .net http-headers response

我在IIS 7.5上运行了一个.NET应用程序,并返回了以下响应标头,如Chrome的网络页面所示:

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
X-AspNetMvc-Version: 3.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Fri, 21 Sep 2012 16:11:55 GMT
Content-Length: 840

在C#代码中,我尝试读取这些响应头,但HttpContext.Response.Headers检索的唯一内容是以下两个:

  • 服务器:Microsoft-IIS / 7.5
  • X-AspNetMvc-Version:3.0

毋庸置疑,HttpContext.Response.Headers.AllKeys.LengthHttpContext.Response.Headers.Keys.Count都会返回2。

因为在生产环境中,应用程序必须读取一个额外的响应头,一个动态头,我需要能够拦截所有这些头。

非常感谢解决方案。

1 个答案:

答案 0 :(得分:0)

在IIS 7.5上,这些标题为private

您可以通过执行以下步骤添加Response Header

  1. 打开IIS Manager,导航至您要管理的级别。

  2. Features View中,双击“HTTP Respond Headers”功能。

  3. 点击“动作面板”

  4. 上的“添加...”