如何检查 HttpContext.Current.Response 是不是有现有的 Header?
Posted
技术标签:
【中文标题】如何检查 HttpContext.Current.Response 是不是有现有的 Header?【英文标题】:How to check if HttpContext.Current.Response have an existing Header?如何检查 HttpContext.Current.Response 是否有现有的 Header? 【发布时间】:2012-06-21 13:27:51 【问题描述】:我正在处理一个必须向响应标头添加标头的方案。
我添加了一个这样的响应标头:-
HttpContext.Current.Response.AddHeader("key1", "value1")
经过一些功能流程后,我需要为相同的 "key1" 添加价值:HttpContext.Current.Reponse.AddHeader("key1, "value2")
因此响应标头中的值如下所示:- key1 : value1, value2
我想避免将 value2 添加到同一关键字 key1。
如何解决这个问题?
我试过了:-
If HttpContext.Current.Response.Headers("key1") Then
HttpContext.Current.Reponse.AddHeader("key1, "value2")
EndIf
但我得到了错误:此操作需要 IIS 集成管道模式HttpContext.Current.Response.Headers("key1")
我正在运行 IIS6。 这个http://forums.asp.net/post/2676139.aspx 说如果不是 IIS7,它就不起作用
如果我可以在 IIS6 中做到这一点,请提供帮助。谢谢,
【问题讨论】:
重复***.com/questions/6269261/response-headers-and-iis6 【参考方案1】:您可以使用此行检查它是否有键
HttpContext.Current.Response.Headers.HasKeys()
所以在你的例子中你会这样做
If Not HttpContext.Current.Response.Headers.HasKeys() Then
HttpContext.Current.Reponse.AddHeader("key1, "value2")
EndIf
希望对你有帮助
【讨论】:
HttpContext.Current.Response.Headers
它自己正在抛出“此操作需要 IIS 集成管道模式”异常。所以它不会去到 HasKeys
好吧,我猜你可以配置 IIS,这里有一个教程msdn.microsoft.com/en-us/library/cek8kw6e.aspx以上是关于如何检查 HttpContext.Current.Response 是不是有现有的 Header?的主要内容,如果未能解决你的问题,请参考以下文章
Web API 服务 - 如何在异步任务中使用“HttpContext.Current”
WindowsIdentity winId = (WindowsIdentity)HttpContext.Current.User.Identity;如何使这个演员工作;目前它失败了