![](/img/trans.png)
[英]Issue with HttpClient.PostAsJsonAsync Not Working from ASPX
[英]HttpClient.PostAsJsonAsync throws TaskCanceledException
我正在使用HttpClient.PostAsJsonAsync,並且POST從不發送。 我正在用wireshark監視它,什么都沒發生。
我覺得這里有些僵局,但不知道是什么。 我已閱讀並遵循了該指南,但仍然沒有。 我已經嘗試過ConfigureAwait(false),async,await,都為async方法創建了一個新任務,但是該調用從未返回,也從未發布過該帖子。
public class RequestDespacho
{
/*
several public properties
*/
public async void MakeRequest()
{
try
{
var response = await Requester.MakePost("CreateTicket/", this);
switch (response.StatusCode) //this line is never reached
{
case HttpStatusCode.OK:
MessageBox.Show("OK");
break;
case HttpStatusCode.Forbidden:
MessageBox.Show("Forbidden");
break;
case HttpStatusCode.BadRequest:
MessageBox.Show("Bad Request");
break;
case HttpStatusCode.InternalServerError:
MessageBox.Show("Internal Server Error");
break;
}
}
catch (Exception e) //taskCanceled exception appears after a while
{
MessageBox.Show(e.ToString());
}
}
}
public static class Requester
{
private static readonly HttpClient client;
static Requester()
{
client = new HttpClient()
{
BaseAddress = new Uri("http://10.2.4.29:1234/"),
DefaultRequestHeaders = {{"x-auth_token", "token1"}},
Timeout = new TimeSpan(0, 0, 15)
};
}
public static async Task<HttpResponseMessage> MakePost(string dir, object data)
{
return await client.PostAsJsonAsync(dir, data);
}
}
public partial class Form1 : Form
{
private async void button3_Click(object sender, EventArgs e)
{
var image = File.ReadAllBytes(@"G:\1.jpg");
RequestDespacho req = new RequestDespacho("Av. Monroe 2323", -34.557762, -58.459346, TipoEvento.Merodeo,
"Palio rojo", image); //my model, doesn't really matter
await req.MakeRequest();
}
}
這是一個與網絡有關的問題。 選擇了一個wifi USB板,問題得以解決。 仍然不知道是什么阻止了這些請求...因為有了郵遞員,一切正常,但是在Visual Studio中卻沒有...但是代碼還可以。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.