HTTP客户端NoCache标志原因空参考异常C#

时间:2018-09-18 10:29:35

标签: c# xamarin.forms httpclient cache-control pragma

我添加了这一行以在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 个答案:

答案 0 :(得分:2)

在实例化新的HttpClient时,CacheControl设置为null。您的解决方案是将CacheControl设置为不缓存的一种方法,但这是一种较为简单的方法:

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

编辑:已纠正拼写错误