我们使用ASP.Net 4.0。在我们的代码中,我们经常使用Response.AddHeader("x", "y")
。这与Response.AppendHeader("x", "y")
完全相同吗?我读到AppendHeader仅存在与经典ASP的兼容性,我们不使用它。
我们可以毫无顾虑地将AddHeader替换为AppendHeader吗?
答案 0 :(得分:30)
它们是相同的,所以是的,您可以将HttpResponse.AddHeader
替换为HttpResponse.AppendHeader
。
来自MSDN
AddHeader与AppendHeader相同 并且仅提供兼容性 与早期版本的ASP。同 ASP.NET,使用AppendHeader。
快速查看Reflector,确认HttpResponse.AddHeader
只是致电HttpResponse.AppendHeader
。
答案 1 :(得分:11)
它们不一样(至少对HttpListenerContext
而言)。
以下是测试:
ctx.Response.AddHeader("a", "b");
ctx.Response.AddHeader("a", "c");
结果是:
HTTP/1.1 200
Server: Microsoft-HTTPAPI/2.0
a: c
Date: Mon, 12 Nov 2012 16:42:01 GMT
现在就像这样:
ctx.Response.AddHeader("a", "b");
ctx.Response.AppendHeader("a", "c");
结果是:
HTTP/1.1 200
Server: Microsoft-HTTPAPI/2.0
a: b
a: c
Date: Mon, 12 Nov 2012 16:53:29 GMT