首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Response.Headers.Add()与Response.AddHeader()

Response.Headers.Add()与Response.AddHeader()
EN

Stack Overflow用户
提问于 2014-03-05 16:55:07
回答 1查看 5.3K关注 0票数 3

在我注意到我的代码可能运行在以经典模式设置的服务器上之前,我使用的是Response.Header.Add()。在这种情况下,异常“此操作需要IIS集成管道模式”。已经长大了。

我切换到Response.AddHeader()来解决我的问题。这个函数看起来更老了,但它并不是不推荐的。我想知道,您认为在Response.Header.Add()之上使用Response.AddHeader()有什么原因吗?你能解释一下吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-19 14:09:13

Response.AddHeader()是一个更老的方法,面向IIS6。Response.AddHeader为您提供了一种向响应标头集合添加自定义标头的基本方法,但实际上并没有为您提供一种以其他方式操作集合的方法(例如,您不能从集合中删除一个标头--尽管您可以使用Response.ClearHeaders()清除它们)。Response.Header.Add()是较新的,需要集成管道模式才能工作,只有在IIS7和以后的版本中才支持.

“Header属性仅受IIS7.0集成管道模式和至少.NET Framework3.0的支持。当您尝试访问Header属性而这两种条件中的任何一种不满足时,将引发PlatformNotSupportedException。”

我的理解是,IIS6使用ASAPI来调用.Net,从而有效地限制了如何处理响应头之类的内容。使用IIS7集成模式,“将ASP.NET请求管道与IIS核心请求管道相结合的统一请求处理管道”,为在请求/响应生命周期内工作提供了更大的灵活性.

这里有几个链接,可以帮助您照亮主题- 将ASP.Net应用程序从IIS6.0移动到IIS7.0每个ASP.NET开发人员都应该知道的IIS管道中的HTTP请求生命周期事件

我希望这能帮上忙!

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22204157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档