私はウェブアプリケーションを持っています。パフォーマンスのボトルネックは、リクエストごとに Http クライアントを何度も作成している可能性があることがわかりました。
public static class DemoHttpClient
{
public static HttpClient GetClient()
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(DemoConstants.DemoAPI);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
return client;
}
}
public class DemoConstants
{
public const string DemoAPI = "http://localhost/";
}
これにはシングルトンを実装する予定です。そして、この非常に役立つ記事を見つけました。 http://csharpindepth.com/Articles/General/Singleton.aspx
ASP.NET MVC Web アプリケーションのライフサイクルがサーバーにデプロイされたときの正確な状態について、私は混乱しています。同じリソースを呼び出す複数のスレッドがあると仮定すると、リソースはさらに何度も新しい http クライアントを作成します。
ここで何をすべきか.. 1) HTTP クライアントを遅延ロードしますか? 2) 遅延ロードしませんか?
どの特定のアプローチを使用する必要がありますか?