Подтвердить что ты не робот

Является AppendHeader точно так же, как AddHeader?

Мы используем ASP.Net 4.0. В нашем коде мы регулярно используем Response.AddHeader("x", "y"). Это точно так же, как Response.AppendHeader("x", "y")? Я читал, что AppendHeader существует только для совместимости с классическим ASP, который мы не используем.

Можем ли мы без каких-либо проблем заменить AddHeader на AppendHeader?

4b9b3361

Ответ 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