HTTP客户端NoCache标志导致空引用异常C# [重复]

Posted

技术标签:

【中文标题】HTTP客户端NoCache标志导致空引用异常C# [重复]【英文标题】:HTTP Client NoCache Flag Cause Null Reference Exception C# [duplicate] 【发布时间】:2018-09-18 10:29:34 【问题描述】:

我添加了这一行以在 HTTP 客户端中不应用缓存

HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.CacheControl.NoCache = true;

当我运行之前运行良好的应用程序时,我在第二行得到了这个异常:

NullReferenceException:对象引用未设置为对象的实例

我试过这是应用运行正常的 NoChache 标志,但我不确定它是否符合预期。

HttpClient httpClient = new HttpClient()
 
    DefaultRequestHeaders=
     
        CacheControl = CacheControlHeaderValue.Parse("no-cache, no-store"),
        Pragma =  NameValueHeaderValue.Parse("no-cache")
    
;

请帮助我应用正确的方法来设置 NoCache 标志。

【问题讨论】:

【参考方案1】:

在实例化一个新的HttpClient 时,它的CacheControl 似乎设置为null。您的解决方案是将CacheControl 设置为不缓存,但这是一种不那么冗长的方法:

HttpClient httpClient = new HttpClient();
client.DefaultRequestHeaders.CacheControl = new CacheControlHeaderValue NoCache = true;

编辑:更正拼写错误

【讨论】:

我会测试并返回给您,但是您是否缺少一些括号'('这看起来像visual basic client.DefaultRequestHeaders.Add("Cache-Control", "no-cache");

以上是关于HTTP客户端NoCache标志导致空引用异常C# [重复]的主要内容,如果未能解决你的问题,请参考以下文章

为啥在构造函数中抛出异常会导致空引用?

C# Vlc.DotNet 库 - 空引用异常

在 tableviewsource 上选择的 Monodevelop 行导致空引用异常

使用 C# 8 的可空引用类型

空引用异常 - 没有可用的源

Unity RPC空引用异常[重复]