试图捕获Winform应用程序关闭时注销的用户。从客户端表单中,触发了orm_Closing
事件,但HttpClient.PostAsync
调用停止了,并且webapi根本没有收到该帖子。
using (var client = new HttpClient(handler))
{
var content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json");
var response = await client.PostAsync(requestUrl, content);
response.EnsureSuccessStatusCode();
var responseAsString = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<T>(responseAsString);
}
有什么想法吗?
答案 0 :(得分:2)
请勿使用Async/Await
进行通话。在后台线程上的请求完成之前,应用程序结束。
使其成为同步呼叫。这样,它将在Main UI线程上执行,该线程必须等待webapi响应才能终止进程。