Является AppendHeader точно так же, как AddHeader?
Мы используем ASP.Net 4.0. В нашем коде мы регулярно используем Response.AddHeader("x", "y")
. Это точно так же, как Response.AppendHeader("x", "y")
? Я читал, что AppendHeader существует только для совместимости с классическим ASP, который мы не используем.
Можем ли мы без каких-либо проблем заменить AddHeader на AppendHeader?
Ответы
Ответ 1
Они одинаковы, поэтому да, вы можете заменить HttpResponse.AddHeader
на HttpResponse.AppendHeader
.
От MSDN
AddHeader - это то же самое, что и AppendHeader и предоставляется только для совместимости с более ранними версиями ASP. С ASP.NET, используйте AppendHeader.
Быстрый просмотр с Reflector подтверждает, что HttpResponse.AddHeader
просто вызывает HttpResponse.AppendHeader
.
Ответ 2
Они не совпадают (по крайней мере, для 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