HttpClient PutAsync 问题挂起或返回 404
HttpClient PutAsync Issues Hanging Or 404 Returned
尽我所能,但我无法使 HttpClient.PutAsync 方法正常工作。我能够使 GetAsync 方法正常工作。我还能够在 Postman
中成功进行 PUT 调用
这是我在收到 404 未找到时使用的代码。
public static async Task<HttpResponseMessage> PutAsJsonAsync<Contact>(HttpClient client, Contact contact)
{
client.DefaultRequestHeaders.Add("X-API-TOKEN","MyT0k3n");
var json = JsonConvert.SerializeObject(contact);
var stringContent = new StringContent(json, Encoding.UTF8, "application/json");
return await client.PutAsync("https://survey.qualtrics.com/API/v3/mailinglists/ML_123456/contacts/MLRP_123456", stringContent);
}
联系人 class 有 "unsubscribed" 等变量。
我也试过这个(https://gist.github.com/alexandrevicenzi/9216739)但是当我等待任务时线程挂起并超时:
public static Task<HttpResponseMessage> PutJsonAsync(HttpClient client, string requestUri, Type type, object value)
{
return client.PutAsync(requestUri, new ObjectContent(type, value, new JsonMediaTypeFormatter(), "application/json"));
}
老实说,我对 async、await 或 HttpClient 不是很熟悉。我过去使用过 HttpWebRequest 和 WebRequest。我尝试用我的旧方法进行 PUT,但没有成功。谁有想法?
大多数情况下,当您收到此类任务的 404 时,您的请求 url 格式不正确。
提示:
尝试使用 fiddler 捕获这两个请求并在原始版本中进行比较。
尽我所能,但我无法使 HttpClient.PutAsync 方法正常工作。我能够使 GetAsync 方法正常工作。我还能够在 Postman
这是我在收到 404 未找到时使用的代码。
public static async Task<HttpResponseMessage> PutAsJsonAsync<Contact>(HttpClient client, Contact contact)
{
client.DefaultRequestHeaders.Add("X-API-TOKEN","MyT0k3n");
var json = JsonConvert.SerializeObject(contact);
var stringContent = new StringContent(json, Encoding.UTF8, "application/json");
return await client.PutAsync("https://survey.qualtrics.com/API/v3/mailinglists/ML_123456/contacts/MLRP_123456", stringContent);
}
联系人 class 有 "unsubscribed" 等变量。
我也试过这个(https://gist.github.com/alexandrevicenzi/9216739)但是当我等待任务时线程挂起并超时:
public static Task<HttpResponseMessage> PutJsonAsync(HttpClient client, string requestUri, Type type, object value)
{
return client.PutAsync(requestUri, new ObjectContent(type, value, new JsonMediaTypeFormatter(), "application/json"));
}
老实说,我对 async、await 或 HttpClient 不是很熟悉。我过去使用过 HttpWebRequest 和 WebRequest。我尝试用我的旧方法进行 PUT,但没有成功。谁有想法?
大多数情况下,当您收到此类任务的 404 时,您的请求 url 格式不正确。
提示:
尝试使用 fiddler 捕获这两个请求并在原始版本中进行比较。