tez*_*nia 1 c# asp.net async-await dotnet-httpclient
在我的应用程序中,我喜欢尝试并保持一致,并尽可能使用HttpClient.但是,有时我不需要HttpClient的异步属性,因此我只需在返回后立即获取任务的结果,如下面的代码所示.
public HttpResponseMessage httpPostWrapperMethod(string postBody, string url)
{
HttpContent content = new StringContent(postBody, Encoding.UTF8, "application/json");
HttpClient client = new HttpClient();
return client.PostAsync(url, content).Result;
}
Run Code Online (Sandbox Code Playgroud)
我的两个问题是:
这个代码在拨打电话时会导致新的线程在后台旋转吗?
和
如果我对这个其他服务的调用大约需要500毫秒,那么当服务处于大约100个请求/秒的生产负载时,这是否会导致我吃太多线程?
PostAsync不会导致创建一个线程,不.实际上,如果要异步使用的代码是没有线程需要做任何事情来完成这项工作.在你的情况下,你在等待操作完成时让当前线程无所事事,这是执行此操作时唯一消耗/浪费时间的线程.
| 归档时间: |
|
| 查看次数: |
289 次 |
| 最近记录: |