获取HTTP响应自定义标头时出错

3

我正在尝试在Page_Load方法中添加自定义 Headers -> e1 HttpContext.Current.Response.AddHeader("e1","example of an exception"); 到HTTP响应中,通过在chrome开发工具中检查,这个功能可以正常工作。

U+25BC

问题是如果我试图使用下面的代码来写入相同的响应: HttpContext.Current.Response.Write(HttpContext.Current.Response.Headers["ALL_HTTP"].ToString());,会引发PlatformNotSupportedException : This operation requires IIS integrated pipeline mode.

所以主要问题是如何读取添加的响应标头,假设我正在使用内置的VS开发服务器?
如果您能够建议一些文章或书籍来了解正确地使用HTTP头和动词,那就太好了。

1个回答

2
如果您想直接将该变量写入响应中,可以在Page_Load中简单调用此方法。这样可以避免IIS集成管道模式的要求。
Page.Response.Write(Request.ServerVariables["ALL_HTTP"]);

如果要学习,我建议集中学习 HTTP 和 REST。

  • 这篇文章 是一份关于 REST 的简单介绍。
  • 《HTTP:权威指南》是一本很好的书籍,可以将你从简单的 HTTP 协议引导到更高级的概念。
  • HTTP 1.1 规范是权威人士写的,读起来有点枯燥。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接