สิ่งที่ควรเป็นHttpClient
อายุการใช้งานของไคลเอนต์ WebAPI
มันจะดีกว่าถ้ามีอินสแตนซ์หนึ่งHttpClient
สำหรับการโทรหลายสาย
ค่าใช้จ่ายในการสร้างและการกำจัดHttpClient
ต่อคำขอเป็นอย่างไรเช่นในตัวอย่างด้านล่าง (นำมาจากhttp://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from- a-net-client ):
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:9000/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// New code:
HttpResponseMessage response = await client.GetAsync("api/products/1");
if (response.IsSuccessStatusCode)
{
Product product = await response.Content.ReadAsAsync<Product>();
Console.WriteLine("{0}\t${1}\t{2}", product.Name, product.Price, product.Category);
}
}
Stopwatch
คลาสเพื่อเปรียบเทียบมันได้ การประมาณของฉันน่าจะเหมาะสมกว่าถ้ามีสักHttpClient
กรณีสมมติว่าทุกกรณีถูกใช้ในบริบทเดียวกัน