Dot Net Core 中的 HttpResponse 不包含 AddHeader 的定义

8

当将项目迁移到 .Net Core 时,AddHeader 抛出一个错误:

错误 CS1061 'HttpResponse' 没有定义 'AddHeader',并且没有找到接受类型为 'HttpResponse' 的第一个参数的扩展方法 'AddHeader' (是否缺少了使用指令或程序集引用?).NETCoreApp,Version=v1.0

3个回答

9
答案是改为使用以下方法(不使用AddHeader):
Response.Headers["key-goes-here"] = "value-goes-here";

谢谢 - “IHeaderDictionary与IDictionary具有不同的索引器约定,如果缺少条目,则会返回StringValues.Empty。” - user326608

3

查看

示例:

string combineValue = httpContext.Request.Headers["header1];
if (string.IsNullOrEmpty(combineValue)) // ...
var values = httpContext.Request.Headers["header1"];
if (StringValues.IsNullOrEmpty(values)) // ...
httpContext.Response.Headers["CustomHeader1"] = "singleValue";
httpContext.Response.Headers["CustomHeader2"] =  new[] { "firstValue", "secondValue" };

你的链接已失效,请检查确保输入正确。 - Nkosi
啊,我明白了,好的观点。我把组合值搞错了,只变成了单一的值。 - goamn

1

或者你可以直接说:

Response.Headers.Add("key", "value");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接