如何创建 HttpRequestHeaders 类的实例
Posted
技术标签:
【中文标题】如何创建 HttpRequestHeaders 类的实例【英文标题】:How can I create instance of HttpRequestHeaders class 【发布时间】:2016-05-30 20:07:47 【问题描述】:我必须对使用 HttpRequestHeaders 作为参数的类进行单元测试。
public HeaderValueProvider(HttpRequestHeaders headers)
_headers = headers;
【问题讨论】:
【参考方案1】:HttpRequestHeaders
只有内部构造函数。
但是你可以通过创建HttpRequestMesssage
对象来做到这一点:
using var headers = new HttpRequestMessage().Headers;
【讨论】:
谢谢。不创建成熟的HttpClient
的解决方案感觉要好得多。请注意,HttpRequestMessage
是一次性的,因此您可能希望将其放置在 using
块中。
@Timo,你是对的。使用 c# 8.0,您可以编写:using var headers = new HttpRequestMessage().Headers;
这看起来真的会处理标题而不是HttpRequestMessage
。你绝对确定这符合你的意图吗?也许有一些我不知道的魔法......
蒂莫你是对的。应该是:C# using var message = new HttpRequestMessage(); var headers = message.Headers;
【参考方案2】:
您可以通过以下方式获得HttpRequestHeaders
的空白实例:
var headers = new HttpClient().DefaultRequestHeaders;
【讨论】:
以上是关于如何创建 HttpRequestHeaders 类的实例的主要内容,如果未能解决你的问题,请参考以下文章
为什么HttpRequestHeaders.GetValues(string)返回的IEnumerable只有1个字符串?