【发布时间】:2020-05-28 16:06:14
【问题描述】:
我正在修改一个电子商务网站的购买流程,该网站能够通过一次购买为多个用户和多个产品进行购买。大额购买有时可能需要几分钟才能完成,电子商务网站后端会让用户等待;不是很好的用户体验。
我正在尝试让网站生成一个 JSON 字符串并将其转移到一个 API,该 API 将在不同的服务器上进行购买处理,并让网站在ThankYou 页面上继续,而无需等待来自API。 我的挑战是,有时 Post 无法进入 API。我在 postasync 之后放置了一个 thread.sleep 命令,这似乎解决了我本地机器上的问题,但我担心该解决方案的可靠性。
TLDR;我的目标是让代码可靠地将帖子发送到 API,而无需等待结果。这是我以前一直在努力解决的问题,如果有最佳实践来实现结果,我一直找不到。任何建议将不胜感激。
见下面的邮政编码;没什么好看的。代码位于电子商务后端的 eventHandler 函数中。
using (System.Net.Http.HttpClient client = new HttpClient(new HttpClientHandler(),false))
{
var url = ConfigurationManager.AppSettings["APIURL"];
var reqBody = new StringContent(RequestData.ToString(), Encoding.UTF8, "application/json");
var task = client.PostAsync(url, reqBody);
//increases chance of post reaching API before function ends
Thread.Sleep(3000);
}
【问题讨论】:
标签: .net asynchronous post c#-4.0 concurrency