C# HttpClient使用.NET核心,但不是Framework 4.7.2
我目前正试图向一个名为C# HttpClient使用.NET核心,但不是Framework 4.7.2,c#,asp.net,.net-core,C#,Asp.net,.net Core,我目前正试图向一个名为 下面的代码可以正常工作并返回预期的内容,但是,当我使用与相同的代码时,会出现以下错误ProtocolViolationException:无法发送具有此动词类型的内容体。我的问题是,为什么这在.NET Core中工作,而在标准控制台应用程序上不在Framework 4.7.2中工作 static void GetFoo() { Task task = Task.Run(async() => {
下面的代码可以正常工作并返回预期的内容,但是,当我使用与相同的代码时,会出现以下错误
ProtocolViolationException:无法发送具有此动词类型的内容体。
我的问题是,为什么这在.NET Core中工作,而在标准控制台应用程序上不在Framework 4.7.2中工作
static void GetFoo()
{
Task task = Task.Run(async() =>
{
string url = "https://api.monday.com:443/v1/boards/foo/pulses.json?api_key=bar";
using (HttpClient httpClient = new HttpClient())
using (HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, url))
{
httpRequestMessage.Headers.Add("Cach-Control",": max-age=0, private, must-revalidate");
httpRequestMessage.Content = new StringContent("", System.Text.Encoding.UTF8, "application/json");
HttpResponseMessage result = await httpClient.SendAsync(httpRequestMessage);
string data = await result.Content.ReadAsStringAsync();
// Just want to see a result for now, so writing it to the console.
Console.WriteLine(JsonConvert.DeserializeObject(data).ToString());
}
});
Task.WaitAll(task);
}
如果您注释掉最后一个
控制台.WriteLine
,会发生什么情况?@JohnB相同的错误使用HttpWebRequest
如何?上有关于此的讨论