Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改HttpClient的默认请求标头_C#_Dotnet Httpclient - Fatal编程技术网

C# 更改HttpClient的默认请求标头

C# 更改HttpClient的默认请求标头,c#,dotnet-httpclient,C#,Dotnet Httpclient,与我的工作有关,我有以下几点: public static HttpClient client= new HttpClient(); //Basic HTTP client setup client.BaseAddress = new Uri(address); client.DefaultRequestHeaders.Add("custom_header", "MyCustomHeader"); 正如您所见,我设置了一个不能更改的基址(上一个问题的内容),并设置了一个自定义头 我的问

与我的工作有关,我有以下几点:

public static HttpClient client= new HttpClient();
//Basic HTTP client setup
  client.BaseAddress = new Uri(address);
  client.DefaultRequestHeaders.Add("custom_header", "MyCustomHeader");
正如您所见,我设置了一个不能更改的基址(上一个问题的内容),并设置了一个自定义头

我的问题是,我可以稍后在这个自定义标题中更改代码吗?(暂时或永久地)

例如,我希望我的请求具有标题“MyCustomHeader”,但对于某些特定请求,我希望它是“MyOtherHeader”


因此,如果有人教我1)如果可能,2)如果可能,怎么做,我将不胜感激

据我所知,您希望在运行时添加/删除此自定义头

您可以添加自定义标题,如下面的代码

client.DefaultRequestHeaders.Add("custom_header", "MyCustomHeader");
并且,您可以在需要时使用下面的代码删除标题

client.DefaultRequestHeaders.Remove("custom_header");

你怎么这么胖?让我们看看你的企图!所以,如果我只想更改,我应该删除并添加另一个值吗?RequestHeader是KeyValuePair,KeyValuePair value属性是只读的。因此,您应该删除并使用另一个值再次添加。这当然会永久影响默认标题,对吗?(直到我的意思是换回来)