在一个WPF前端的项目上工作,并试图处理异步调用HttpClient,我一直在试图让PostAsync工作,但它通常似乎陷入僵局,或者至少是后期响应超时,即使有超时的大值,也有提琴手的可见响应.
所以,过了一段时间我决定尝试在HttpClient上使用其他几种方法,然后他们就开始尝试了.不知道为什么.
我是干净的一路我的WPF按钮,awaits,asyncs,和.ConfigureAwait(false)(我认为):
按钮:
private async void Generate_Suite_BTN_Click(object sender, RoutedEventArgs e)
{
await suiteBuilder.SendStarWs().ConfigureAwait(false);
}
Run Code Online (Sandbox Code Playgroud)
XmlDoc加载:
internal async Task SendStarWs()
{
var xmlDoc = new XmlDocument();
xmlDoc.Load("C:\\Temp\\file.xml");
await StarWSClient.SendStarMessage(xmlDoc).ConfigureAwait(false);
}
Run Code Online (Sandbox Code Playgroud)
发信息:
private static readonly HttpClient Client = new HttpClient {MaxResponseContentBufferSize = 1000000};
public static async Task<STARResult> SendMessage(vars)
{
var response = await SendRequestAsync(url, contentNew, Client).ConfigureAwait(false);
return new STARResult(response, hash);
}
Run Code Online (Sandbox Code Playgroud)
我立即打电话给我的终点'500s',我期待:
var response = await SendRequestAsync(url, contentNew, Client).ConfigureAwait(false);
private static async Task<HttpResponseMessage> SendRequestAsync(string adaptiveUri, …Run Code Online (Sandbox Code Playgroud)