Behavior of HttpClient Class(C#)

★★★ Live配信告知 ★★★ぜひお申込みください!
◆◇世界一わかりみの深いクラウドネイティブ on Azure◆◇
8/4(木) 19:00~ 第17回:コンテナをサーバーレスでラクラク実行 〜 Azure Container InstancesとDocker CLIで実現 〜 今回は、コンテナをサーバーレスで実行するテクノロジとDocker CLIとの連携を紹介します。
◆◇PS Live◆◇
8/5(金) 12:00~ 第18回:アウトプットはイイぞ 〜サイオステクノロジーLT大会〜 エンジニア初級者向けから、個人ネタまで、エンジニア脳を体感できるプログラムです。

The official document provided by Microsoft describes that how HttpClient class works when connecting to a specific URL.

As described in the link above,it is neccessary to make HttpClass instances static and readonly,instead of creating HttpClass instance everytime connecting.I did some investigation.

I tried to execute the following code which invoke 10 threads and each thread connect to the specific URL.As shown below,this code creates HttpClass instance evrytime connecting.

I tried to get this traffic captured in wireshark and filter captured packets by TCP Flag which is on and HTTP Status Code which is 200.I can see that TCP connection is established everytime connecting.

Screen Shot 2018-12-27 at 8.31.37


Next,I tried to execute the following code which makes HttpClass instance static and readonly as the official documents provided by Microsoft describes.

Take a look at the following result.Only 2 TCP connections are established,but there are 10 HTTP responses whose source tcp port are the ones above-mentioned 2 TCP connections established(54672 and 54673).You can see the TCP connections reused.

Screen Shot 2018-12-27 at 8.29.37


>> 雑誌等の執筆依頼を受付しております。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった


Be the first to comment

Leave a Reply

Your email address will not be published.