How To Use HTTP CLIENT IN ASP NET CORE Applications | Getting Started With ASP.NET Core Series

SdĂ­let
VloĆŸit
  • čas pƙidĂĄn 6. 10. 2020
  • Hi Friends, The original and well-known HttpClient class can be easily used, but in some cases, it isn't being properly used by many developers. There are different issues that you can run into when instantiating and using the HttpClient class directly in your application code. You can run into multiple open connections, socket exhaustion, failure
    to handle underlying DNS changes, etc. To address all these issues, .NET Core has the IHttpClientFactory interface that can be used to
    configure and create HttpClient instances.
    In this video, I will walk you through the common mistakes that we run into when creating and managing HttpClient instances ourselves.
    I will show how you netstat to inspect the underlying socket connections that are opened when we create HttpClient instances and how the code we write affects it. I will then show you how to fix those using the IHttpClientFactory and the different consumption patterns
    available - Basic, Named, and Typed client instances.
    🔗Are You Using HttpClient in The Right Way? - www.rahulpnath.com/blog/are_y...
    🔗HTTP Requests using IHttpClientFactory - docs.microsoft.com/en-us/aspn...
    🔗Issues with HttpClient - docs.microsoft.com/en-us/dotn...
    🔗Netstat - docs.microsoft.com/en-us/wind...
    🔗Source Code - rahulpnath.visualstudio.com/D...
    Additional Watching
    đŸ“čConfiguration in ASP NET Core - ‱ CONFIGURATION in ASP.N...
    đŸ“čDependency Injection in ASP NET Core - ‱ DEPENDENCY INJECTION i...
    đŸ“čASP NET Core Series - ‱ ASP.NET Core
    Come say hi! ✋
    🌍 Blog - rahulpnath.com/
    ✉ Subscribe to my Newsletter - www.rahulpnath.com/subscribe
    🐩Twitter - / rahulpnath
    📾Instagram - / rahulpnath
    đŸŽ„ Recording Setup and Workflow - www.rahulpnath.com/blog/youtu...
    Make sure to SUBSCRIBE to the channel. THANK YOU for helping me grow this channel !!
  • Jak na to + styl

Komentáƙe • 296

  • @salemnaser8441
    @salemnaser8441 Pƙed 2 lety

    Thanks for the sharing your knowledge.

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Glad you liked it Salem. The full ASP NET Core series is here bit.ly/asp-net-core-series

  • @melk48111
    @melk48111 Pƙed 2 lety

    Excellent

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Thank you so much Melvis 😀 Do check out the full series here bit.ly/asp-net-core-series
      I am sure you will like it. Do let me know in case you get to watch it.

  • @ramkumarramanathan3392
    @ramkumarramanathan3392 Pƙed 2 lety

    Great content

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      Glad you like it - Do check out the full series bit.ly/asp-net-core-series

  • @anandvijayan710
    @anandvijayan710 Pƙed 2 lety +7

    Simple, clean and clear. Thanks for the sharing your knowledge.

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      You are welcome Anand! Hope you are liking the full series bit.ly/asp-net-core-series

  • @sruthivasudevan960
    @sruthivasudevan960 Pƙed 2 lety +3

    Can't thank you more, You are a savior.Thank you for teaching the concepts crystal clear.

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Thank you Sruthi. Glad they are helping. Hope you are enjoying the full series and do let me know if you want any specific topics covered.

  • @prakash28nov
    @prakash28nov Pƙed 2 lety

    Excellent Video

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Thank you very much Prakash! The full ASP Series is here bit.ly/asp-net-core-series

  • @AnjuU-db6pn
    @AnjuU-db6pn Pƙed rokem

    Came across your channel today and subscribed right away! Thanks for the clear explanation.

    • @RahulNath
      @RahulNath  Pƙed rokem

      Awesome, thank you Anju! You can check out the full series here bit.ly/asp-net-core-series

  • @manjeetlama9733
    @manjeetlama9733 Pƙed 2 lety

    This is the best explanation I have heard so far on Http Client. Thanks!!!

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Glad it was helpful Manjeet! The full series is here bit.ly/asp-net-core-series

  • @RAKESHKUMAR-wv5qr
    @RAKESHKUMAR-wv5qr Pƙed 8 měsĂ­ci +1

    Simple, clean and clear. Thanks :)

    • @RahulNath
      @RahulNath  Pƙed 8 měsĂ­ci

      You're welcome Rakesh! Do check out the ASP Series bit.ly/asp-net-core-series

  • @rennishj
    @rennishj Pƙed 2 lety +1

    Thanks, nice explanation

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      You are welcome. Do check out the other videos in this series czcams.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html

  • @paddymcglone9079
    @paddymcglone9079 Pƙed 3 lety +1

    Fantastic video

  • @divyanshusoni3448
    @divyanshusoni3448 Pƙed 2 lety

    Highly recommendable video

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Glad you think so! Do check out the full series bit.ly/asp-net-core-series

  • @chazontour8588
    @chazontour8588 Pƙed rokem

    Great explanation 👌

    • @RahulNath
      @RahulNath  Pƙed rokem

      Glad you liked it! DO check out the full ASP Series bit.ly/asp-net-core-series

  • @dailytech3785
    @dailytech3785 Pƙed 3 lety +6

    Rahul, i love the way you explain things simple clean and easy to remember.

    • @RahulNath
      @RahulNath  Pƙed 3 lety +1

      Thank you and glad you like it!

  • @MNewful
    @MNewful Pƙed 3 lety +2

    Awesome videos! Your videos are quick and easy to understand. Thank you so much.

    • @RahulNath
      @RahulNath  Pƙed 3 lety

      Happy to hear that! Thank you 😀

  • @ketannimbalkar6846
    @ketannimbalkar6846 Pƙed 3 lety

    Absolutely fantastic explanation

    • @RahulNath
      @RahulNath  Pƙed 3 lety

      So happy to see this and glad it helped. Do check out the other videos in this series czcams.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html

  • @jupiterblaze2961
    @jupiterblaze2961 Pƙed 2 lety

    Great video.

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Glad you enjoyed it Jupiter! Do check out the full series here bit.ly/asp-net-core-series

  • @FelipePereira-lx5jw
    @FelipePereira-lx5jw Pƙed 2 lety

    Great video Rahul! thank you for share.

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      So nice of you! Do check the full series , I’m sure you’ll like it - czcams.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html
      Do let know in case you get to watch it !

    • @FelipePereira-lx5jw
      @FelipePereira-lx5jw Pƙed 2 lety

      ​@@RahulNath i'll watch!

  • @harendrasinghrana
    @harendrasinghrana Pƙed 11 měsĂ­ci

    very helpful. Thanks for your efforts!

    • @RahulNath
      @RahulNath  Pƙed 10 měsĂ­ci

      Glad you like it. Do check out the full series here bit.ly/asp-net-core-series

  • @Gioandgoose
    @Gioandgoose Pƙed 2 lety

    Rahul Nath you are the man! Thank you sir!!

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Thank you Gio! Glad this helped and also for supporting me here on the channel 🙂

  • @touqeerhameed3435
    @touqeerhameed3435 Pƙed rokem +1

    very informative, easy to understand really

  • @mahmoudzeort7078
    @mahmoudzeort7078 Pƙed rokem +1

    Great, in dept. and helpful explanation. Thank you a lot! Bravoooooo

    • @RahulNath
      @RahulNath  Pƙed rokem

      Glad you enjoyed it Mahmoud!

  • @TechTalkWithMuke
    @TechTalkWithMuke Pƙed 2 lety

    Rahul, This is simply perfect.

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Thank you Mukeem! Do check out other videos in this series bit.ly/asp-net-core-series

  • @islamAhmed-il6pt
    @islamAhmed-il6pt Pƙed rokem

    Awesome videos! Your videos helpful and unbelievable

    • @RahulNath
      @RahulNath  Pƙed rokem

      Happy to hear that Islam! The full series is here in case you haven't got it bit.ly/asp-net-core-series

  • @Chaostheory-88
    @Chaostheory-88 Pƙed 2 lety

    really cool explanation.. thanks

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Glad you liked it Omar. Do check out the other videos in this series. I am sure you'll like them czcams.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html
      Do let me know how it goes in case you do.

  • @sureshp34
    @sureshp34 Pƙed 2 lety

    Hi Rahul,
    This video is really very much helpful for the better understanding. Thanks a lot for posting the video.

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      You are most welcome Suresh! Do check out the full series for ASP NET - I'm sure you'll love it bit.ly/asp-net-core-series

  • @preetichib2254
    @preetichib2254 Pƙed 2 lety

    Loved this video
    Thankyou! 😁

  • @mannychohan
    @mannychohan Pƙed 6 měsĂ­ci

    Great tutorial Rahul.

    • @RahulNath
      @RahulNath  Pƙed 6 měsĂ­ci

      Thank you Manny! Hope you are liking the series bit.ly/asp-net-core-series

  • @MrTonyradford
    @MrTonyradford Pƙed 2 lety +1

    This was helpful. Thanks.

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      Glad it was helpful Tony! More videos like this here in the ASP Series bit.ly/asp-net-core-series

    • @MrTonyradford
      @MrTonyradford Pƙed 2 lety

      @@RahulNath Now that I can consume an api end point, the next step for me is to pass the response to a view, perhaps with some intermediate formatting and maybe using a model so as to bind the view. I think many people would find this useful as it's a real use case and I can't find much info on how to do this. One other dilemma - do you create an API project and add pages or create a Web App and add API functionality to it?

  • @rathanveereddy9829
    @rathanveereddy9829 Pƙed 3 lety +1

    Useful content and great explanation. Keep it up. Thanks for the video.

  • @niravsoni2324
    @niravsoni2324 Pƙed rokem

    Well structured and nicely covered! Thanks Rahul!

    • @RahulNath
      @RahulNath  Pƙed rokem

      Glad you like it Nirav! Do check out the full series here bit.ly/asp-net-core-series

  • @gregorywilson2124
    @gregorywilson2124 Pƙed 2 lety +1

    These videos are really helpful, I didn't know about typed clients

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Glad it was helpful Gregory. Do check out the full series here bit.ly/asp-net-core-series

  • @TheDeckerFamily
    @TheDeckerFamily Pƙed rokem

    Thanks for the info, good stuff.

    • @RahulNath
      @RahulNath  Pƙed rokem

      Glad it was helpful Madison! Hope you are enjoying the full series bit.ly/asp-net-core-series

  • @herbertpaes2164
    @herbertpaes2164 Pƙed rokem +5

    Your content is very informative, easy to understand and goes directly to the point. Thank you very much for lending us your time to share this knowledge.

    • @RahulNath
      @RahulNath  Pƙed rokem

      So nice of you Herbert and glad you found it useful. Do check out the full series here bit.ly/asp-net-core-series. I'm sure you will love them

  • @jeodazang
    @jeodazang Pƙed rokem

    Thank you for this video sir. This is the most informative video and tutorial that I have watched this week. Thank you for sharing this knowledge.

    • @RahulNath
      @RahulNath  Pƙed rokem

      Happy to hear that Jeorlie! Do check out my full series here bit.ly/asp-net-core-series

  • @e-cogs
    @e-cogs Pƙed 2 lety +2

    Nice video. Quick and invaluable information. Thank you for sharing.

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Glad it was helpful! Do check out the other videos in this series czcams.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html

  • @vikasjaiswal3729
    @vikasjaiswal3729 Pƙed 3 lety +1

    Thanks Rahul Nice Explaination

  • @badrulhussain5545
    @badrulhussain5545 Pƙed 2 lety +1

    Wicked! you made this simple for me and thanks!

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      That's so nice to hear Badrul!

  • @muratilgun5169
    @muratilgun5169 Pƙed 2 lety

    You are the best. Thank you Rahul!

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Thank you Murat. Glad you are liking the series czcams.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html

  • @Azcraz
    @Azcraz Pƙed 3 lety +1

    Amazing videos! You've helped me greatly on my enterprise application!

    • @RahulNath
      @RahulNath  Pƙed 3 lety

      Happy to hear that! Do let know if there are specific topics that you are looking for

  • @techmantras6078
    @techmantras6078 Pƙed rokem

    Thank you! your content is very valuable and easy to understand , you opened my eyes, thanks for your efforts.

    • @RahulNath
      @RahulNath  Pƙed rokem

      Happy to hear that! Hope you are enjoying the series bit.ly/asp-net-core-series

  • @kumar_codes
    @kumar_codes Pƙed 3 lety +3

    Awesome content....keep making videos like..this and make more ... I get more info and understand than any other tutorials/videos...

    • @RahulNath
      @RahulNath  Pƙed 3 lety

      Thank you for the comment. It's encouraging 😀

  • @RAM-ff8dy
    @RAM-ff8dy Pƙed 3 lety +1

    You always provide great content

    • @RahulNath
      @RahulNath  Pƙed 3 lety

      Thanks Ram. Glad you are liking it!

  • @banikhimu03
    @banikhimu03 Pƙed 2 lety

    Brilliant Rahul..every time I watch ur video I learn something new.

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      I am so happy to hear that. Thank you!

  • @heatherbeckman1767
    @heatherbeckman1767 Pƙed 2 lety

    Thank you! I subscribed.

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      Thank you Heather! Do check out the full series here bit.ly/asp-net-core-series. I'm sure you'll like it 🙂

  • @htowns5822
    @htowns5822 Pƙed 2 lety +1

    Thank You Rahul for the detailed tutorial ❣

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      Glad you liked it - Check out the full ASP Series bit.ly/asp-net-core-series. I'm sure you will like it

  • @rajusarmah4716
    @rajusarmah4716 Pƙed 2 lety

    Thanks a lot Rahul for this tutorial. It has always been informative to go through your videos.

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Happy to hear that Raju! The full series is here czcams.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html

  • @pardhasaradhivasamsetty7693
    @pardhasaradhivasamsetty7693 Pƙed 9 měsĂ­ci

    Thank you it helped me a lot. You are the best

    • @RahulNath
      @RahulNath  Pƙed 8 měsĂ­ci

      Glad it helped! Hope you are enjoying the series bit.ly/asp-net-core-series

  • @trickytechnology6749
    @trickytechnology6749 Pƙed 2 lety

    Hey Rahul,
    Providing complete and in-depth knowledge with solution makes YOU different form another youtubers. Immediately subscribed you and excited to learn more from you.

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      Welcome aboard and great to know it's helping! The full ASP NET Series is here in case you haven't seen bit.ly/asp-net-core-series

  • @Potzakv20
    @Potzakv20 Pƙed 2 lety

    Love your videos, keep on going. With content like this, you are going to be huge!

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Thanks, will do! glad these are helping

  • @aktaruzzamansuman6264
    @aktaruzzamansuman6264 Pƙed 2 lety

    Nice tuts

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Glad you like them! Do check out the full series here czcams.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html

  • @matthiasstahl6931
    @matthiasstahl6931 Pƙed rokem

    Dear Mr. Nath,
    Thank you so much for sharing your knowledge in this easy and structured way. If more experts would explain their thoughts in this way, the world would be a better place.

    • @RahulNath
      @RahulNath  Pƙed rokem

      So nice of you Matthias. This comment has made my day and thank you for being a member and supporting me !

  • @PradeepKumar-be4co
    @PradeepKumar-be4co Pƙed 3 lety

    Good explanation and very useful. Nice work Rahul.

  • @abhaypatil7653
    @abhaypatil7653 Pƙed 3 lety

    Awesome 😎. Thanks Man 😁

    • @RahulNath
      @RahulNath  Pƙed 3 lety +1

      Glad you like it Abhay. Do check out other videos in this series. czcams.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html

  • @santiagotapia534
    @santiagotapia534 Pƙed rokem

    This is just perfect. There is a how and why and why not for each possibility. I would add a configuration setting for the base url.

    • @RahulNath
      @RahulNath  Pƙed rokem

      Glad you like it Santiago and yes I would add a configuration setting too. Wanted to keep the demo simple. Do check out the full series bit.ly/asp-net-core-series

  • @heshamabdo6024
    @heshamabdo6024 Pƙed 2 lety +1

    Thank you so much

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      You're most welcome Hesham!

  • @thaliaquiroz8485
    @thaliaquiroz8485 Pƙed 2 lety +1

    Amazing video :')

  • @thethomasproject
    @thethomasproject Pƙed 3 lety

    Agree with other comments. Excellent video.

    • @RahulNath
      @RahulNath  Pƙed 3 lety

      Thank you Frank! Glad you enjoyed it.

  • @SirajMSaha
    @SirajMSaha Pƙed 3 lety

    Good job #Rahul

  • @scabendlin
    @scabendlin Pƙed 3 lety +1

    gud 1 rahul...wit such a poker face...lol

  • @sourabhchauhan6602
    @sourabhchauhan6602 Pƙed 2 lety

    Love it

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Thank you, Sourabh! Do check out the full series bit.ly/asp-net-core-series

  • @klearner666
    @klearner666 Pƙed 2 lety

    I'm a beginner and I really liked your videos you got my sub.
    Keep spreading the knowledge :)

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      Welcome aboard and thank you Rupesh! The full series for ASP NET is here bit.ly/asp-net-core-series
      Do let know if you have any topic suggestions or feedback.

    • @klearner666
      @klearner666 Pƙed 2 lety

      @@RahulNath do you have any lessons where you can consume soap API and convert to rest and again rest to corresponding soap.?

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      @@klearner666 No I don't have any - what exactly are you trying to achieve by converting from and to SOAP?

  • @nirajdahal5019
    @nirajdahal5019 Pƙed 3 lety +2

    Very useful content. As most of the time in real world
    applications we use a lot of external API. :D

  • @74himgup
    @74himgup Pƙed rokem

    Hi Rahul, in an Interview today they asked me whether httpclient is singleton or scoped and if I have heard of socket issue. Both of the things you have explained beautifully here...Kudos !!! :)

    • @RahulNath
      @RahulNath  Pƙed rokem

      Glad it helped Himanshu. Hope you were able to successfully find a new job!

  • @milepetkovski6933
    @milepetkovski6933 Pƙed 2 lety +1

    Respect 👍

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      Thank you. Do check out the full series bit.ly/asp-net-core-series I am sure you will like it.

  • @Keyakina
    @Keyakina Pƙed 3 lety

    thanks great explanation!

    • @RahulNath
      @RahulNath  Pƙed 3 lety +1

      Glad you enjoyed it!

    • @Keyakina
      @Keyakina Pƙed 3 lety +1

      @@RahulNath Do you have to follow up with authentication? Thanks in advance!

    • @RahulNath
      @RahulNath  Pƙed 3 lety

      @@Keyakina Yes I am working on a series of videos on Authentication. Will be starting soon!

  • @FaizalMuhammedfaizei
    @FaizalMuhammedfaizei Pƙed 2 lety

    Well Explained, thank you Rahul ...

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      Thank you Faizal!!

    • @FaizalMuhammedfaizei
      @FaizalMuhammedfaizei Pƙed 2 lety

      @@RahulNath One doubt on Http client handling in dot net core can you please advise.
      Scenario: I have implemented http typed client. It seems the http object creating at every call instead of singleton and when running netstat -ano seems we have single port is opened (when tested with multiple calls) but after few hits or call(likely 1 minute after) it seems a new port is opened for API connection.
      Is the above scenario is normal with HTTP typed client.
      We are working in web API call as batch run configured with hight trafic.
      Do we have a new port will open after a certain time or certain number of hits. Can you please help with advise.

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      ​@@FaizalMuhammedfaizei This should be nomal - The underlying factory is pooling the connections as required. You can read more here docs.microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests?WT.mc_id=AZ-MVP-5003875#httpclient-lifetimes
      Hope that helps

    • @FaizalMuhammedfaizei
      @FaizalMuhammedfaizei Pƙed 2 lety +1

      @@RahulNath Thanks for the help Rahul. I am good now â˜ș

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      @@FaizalMuhammedfaizei Feel free to reach out anytime!

  • @rakeshkulkarni2125
    @rakeshkulkarni2125 Pƙed 5 měsĂ­ci

    This was a brilliant video, I like the way you take from beginner way of doing things to expert level, this way everyone can see where they are and what mistakes they are doing. I have a question.
    can httpclientfactory handle multiple/concurrent connections? if yes does it uses pool of sockets? in that case it may use multiple sockets based on the load? how this will scale in production use where 100's and 1000's of request can come simultaneously to the controller.

  • @jasonld
    @jasonld Pƙed 9 měsĂ­ci +1

    Very helpful video. Thank you! I would love to know how to use an API Key and Secret to do a call.

    • @RahulNath
      @RahulNath  Pƙed 9 měsĂ­ci +1

      You would usually pass it as part of the HTTP Headers or however the API expects the keys to be. Do you have a scenario you are looking at?

  • @TheBdemba16
    @TheBdemba16 Pƙed 2 lety

    Great explanation. Any way you could make a video on how to create a nugget for API? Essentially if I have a simple API and want to turn this into some middleware, so that a client app can just install the nugget, register the service, inject it and be able to call the API endpoint that way.

  • @shreyasjejurkar1233
    @shreyasjejurkar1233 Pƙed 3 lety +1

    This is quite great and helpful Rahul!

    • @RahulNath
      @RahulNath  Pƙed 3 lety +1

      Happy it helped!

    • @shreyasjejurkar1233
      @shreyasjejurkar1233 Pƙed 3 lety

      @@RahulNath Please have a video on aspnetcore repo debugging thing that I told you on Twitter! Hope you remember! 😇

    • @RahulNath
      @RahulNath  Pƙed 3 lety

      @@shreyasjejurkar1233 Sure yes, I have made a note of it and will do something on that soon.

    • @shreyasjejurkar1233
      @shreyasjejurkar1233 Pƙed 3 lety

      @@RahulNath Very Very Thanks! Looking forward to it.

  • @HenryTsang
    @HenryTsang Pƙed 11 měsĂ­ci

    Thank you again for an excellent explanation. Even though this is already 3 years old, information is still very valuable. By the way, I am wondering if you have any design thoughts on making a "generic" http handler? I google around, it seems complicated. If you have any insights, would greatly appreciate your teaching on it. Thank you.

  • @nsajan
    @nsajan Pƙed 3 lety +1

    Keep going Rahul. You are adding great content!! Question - if there are multiple typed clients talking to different end points, how many socket connections will get open? 1 or many?

    • @RahulNath
      @RahulNath  Pƙed 3 lety +2

      Glad you are liking the videos! Yes it will create multiple connections since it will to a different endpoint/ip address. Also even for the same ip address it could create multiple connections depending on the timeout on the underlying HttpClientHandler instances. There are a few properties that you can set to control this behaviour too.
      docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclienthandler.maxconnectionsperserver?view=netcore-3.1&WT.mc_id=AZ-MVP-5003875
      Hope that helps.

  • @anu608497
    @anu608497 Pƙed 2 měsĂ­ci

    Thanks for the video Rahul. But it seems more like a school teaching. You can also include real world scenariors in this.

    • @RahulNath
      @RahulNath  Pƙed 2 měsĂ­ci

      Glad you liked it - The idea is to understand the underlying principles of using HTTPClient well enough so that you can easily transfer that understanding to any real world application/scenario. Is there any particular context that you are looking where I can help adding in more details?

  • @triyuga
    @triyuga Pƙed 3 lety +2

    Wow!

  • @shaluatyagi8698
    @shaluatyagi8698 Pƙed 2 lety +2

    This is my first ever comment on CZcams, as I could not resist to praise your efforts. Your videos are so clean and much better than any other professional paid course. I wish you all the very best and success from my heart.

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Wow, thank you! Means a lot and happy you are liking these videos. Do let know if you have any topic suggestions.

    • @shaluatyagi8698
      @shaluatyagi8698 Pƙed 2 lety +1

      Can you please make videos on azure micro services!

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      @@shaluatyagi8698 Thank you for the suggestion. Sure yes, I am planning some content around that area!

    • @matthiasstahl6931
      @matthiasstahl6931 Pƙed rokem

      Same from my side!

  • @user-hx4mh5qs2v
    @user-hx4mh5qs2v Pƙed měsĂ­cem

    Extrodinary!!!.

    • @RahulNath
      @RahulNath  Pƙed měsĂ­cem +1

      Thank you Kishore!! Do check out the ASP Series bit.ly/asp-net-core-series

  • @matheusgeorgo
    @matheusgeorgo Pƙed 3 lety +1

    Hello Rahul, I appreciate the video, and I was wondering if you could make a follow-up but with Oath authentication. Thanks for the good explanation and example.

    • @RahulNath
      @RahulNath  Pƙed 3 lety +1

      Thank you Sllan. Yes I am working on a series on authentication videos and they will be out soon.

  • @SagnikSaha94
    @SagnikSaha94 Pƙed 3 lety +1

    Very nicely explained 😊👍
    One small request, can you please prepare a video on how to secure ASP .Net core Web Api using AAD or any authentication mechanism.

    • @RahulNath
      @RahulNath  Pƙed 3 lety

      Thanks Sagnik. Sure will do it some time soon!

  • @2011djdanny
    @2011djdanny Pƙed 2 lety

    Great video, would be great if you can create a video on specflow testing a Rest API.

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      Glad you like it and thank you for the suggestion. I have a blog post here in case that helps you www.rahulpnath.com/blog/specflow-and-autofixture/

    • @2011djdanny
      @2011djdanny Pƙed 2 lety

      @@RahulNath Genius, loved the post.

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      @@2011djdanny Glad you did - I have a series on AutoFixture on this channel and also on my blog if you need to learn more about it. Feel free to reach out in case you have more questions.

  • @priyankabarde6503
    @priyankabarde6503 Pƙed 3 lety +1

    Hi Rahul.. Very useful and informative Will you do more vdo on .net core API.. Finally Supb yaar

    • @RahulNath
      @RahulNath  Pƙed 3 lety

      Thank you Priyanka and happy you like the videos. DId you get a chance to check out my ASP Net Core API Series here czcams.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html
      Do let know if you have any specific topics that you are looking for.

    • @priyankabarde6503
      @priyankabarde6503 Pƙed 3 lety +1

      @@RahulNath Yes I am going through Series.. Happy You read my comment :)

    • @RahulNath
      @RahulNath  Pƙed 3 lety

      @@priyankabarde6503 Happy that these videos are helping and do let know if you have any questions or any other topic covered 😀

  • @shashikiran5388
    @shashikiran5388 Pƙed 2 lety

    Excellent as usually. I like to have a topic from you regarding ASYNC AWAIT in WEBAPI. I know and worked on ASYNC & AWAIT but I have some gaps in understanding it. Is it possible for you to cover this topic in your style. Thanks Rahul.

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Great suggestion Shashi! I will add this to my list and try and make a video. Happy you like these videos, The full ASP Series is here bit.ly/asp-net-core-series

  • @chetansn6
    @chetansn6 Pƙed rokem

    Hi Rahul, thanks for detailed explanation and much informative on each topic.
    I have one query form this video,
    Query : After creating WeatherService in this also still using HttpClient only right not HttpClirntFactory, how come registering this service in startup class will not have any disadvantages which we discussed at the earlier part of this video. If possible please answer this query.

    • @RahulNath
      @RahulNath  Pƙed rokem

      yes but the factory manages the instances and the underlying socket connections. Hope that helps you Chetan.

  • @kollus56
    @kollus56 Pƙed 2 lety +3

    I have recently subscribed to your channel and watching .net core videos . You have done great job teaching the concepts in very simple way and passed the knowledge step by step incrementally. Thanks for the videos .
    Do you have any full course on .net core ?

    • @kollus56
      @kollus56 Pƙed 2 lety

      Do you have any full .net core course ?

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      Thanks and welcome Seetharam! Glad you are liking it - I don't have a course as such but all my videos are in this playlist bit.ly/asp-net-core-series
      Feel free to drop in any specific topics/suggestions that you have.

    • @kollus56
      @kollus56 Pƙed 2 lety

      @@RahulNath I am watching them and really great help.

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      @@kollus56 Glad you are liking them! Do let me know if you have any topic suggestions.

  • @mohammadrafi8103
    @mohammadrafi8103 Pƙed 2 měsĂ­ci +1

    ❀

  • @ruckmangadan
    @ruckmangadan Pƙed rokem +1

    👏

  • @luvrahooo
    @luvrahooo Pƙed 2 lety +1

    Really awesome videos, could you please explain how to perform Post function like the way you did for Get from weather api. How to handle the json passed to the endpoint?

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      Glad you like it, Rahul. did you get a chance to see the Model Binding video - that explain in detail about it czcams.com/video/bxksp575pk8/video.html
      Also you can check out the full ASP Net Series here bit.ly/asp-net-core-series

    • @luvrahooo
      @luvrahooo Pƙed 2 lety +1

      @@RahulNath yes I am going that video. Basically wanted to build webhook listener for tradingview webhook alerts and then process it for rest apis provided by brokers.

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      @@luvrahooo Prefect ok - let me know if you have additional questions and happy to help!

  • @ahsana6578
    @ahsana6578 Pƙed rokem

    Outstanding its very helpful..
    But I have a problem in order to post request actually I'm injecting web service of TTS which takes a JSON format argument and return json in the form of wave... Can u help in this scenario???

    • @RahulNath
      @RahulNath  Pƙed rokem

      Thank you - Did you solve your problem? If not please provide more details around the issue.

  • @bparitosh
    @bparitosh Pƙed 2 lety +1

    Awesome tips. Thanks for sharing.
    Q) What is the issue in a singleton instance with DNS change, Could you please elaborate as the requestUri is injected during the GetAsync call. Thanks

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      You will need to write your own way to refresh the singleton instance in case of DNS changes etc or restart the application to have a new instance created. Using the factory handles all this for you. Hope that answers the question?

    • @RahulNath
      @RahulNath  Pƙed 2 lety +1

      Do check out the full ASP Series here bit.ly/asp-net-core-series

    • @bparitosh
      @bparitosh Pƙed 2 lety +1

      @@RahulNath Awesome videos and tips. Thanks for sharing

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      @@bparitosh Glad it helps!

  • @norbertcsibi7720
    @norbertcsibi7720 Pƙed 3 lety +1

    Minute 10* What happens on concurrent API calls in our side? Which our API calls that weather forecast API, will they interfere since they r static? Any ideas of what would happen? Great Job Rahul! :)

    • @RahulNath
      @RahulNath  Pƙed 3 lety +1

      Thank you Nobert. HttpClient is designed to work like that. It's the underlying handler that will handle this. There is also an associated property that sets the max connections available per server docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclienthandler.maxconnectionsperserver?view=net-5.0&WT.mc_id=AZ-MVP-5003875
      Let know if that helps

    • @norbertcsibi7720
      @norbertcsibi7720 Pƙed 3 lety

      @@RahulNath You`re a star ;)

  • @abdul-khaaliqdollie5244
    @abdul-khaaliqdollie5244 Pƙed 3 lety

    Hi Rahul, great video!! I wanted to ask, is it also possible for posting from your Api to another Api using the IHttpClientFactory?

    • @RahulNath
      @RahulNath  Pƙed 3 lety +1

      Thank you Abdul and happy you liked it. In the video I am calling the weather API from my API. Is that what you are looking for?

    • @abdul-khaaliqdollie5244
      @abdul-khaaliqdollie5244 Pƙed 3 lety +1

      @@RahulNath yes you're using the Get method to get the information of the current weather details from the major cities. On my side, I'm busy developing this .net Api that gets what is sent through from a desktop application through a Post endpoint and I want to send that information that I retrieved to another Api. Rather than you demonstrated in the video, is it possible to get the json from the desktop application and use the http post to send it off to the next Api?

    • @RahulNath
      @RahulNath  Pƙed 3 lety +1

      ​@@abdul-khaaliqdollie5244 Yes it should be very similar to that shown in the video here, whether you use it for Get or Post. HttpClient is for all HTTP interactions. Instead of getting the data from the query parameter in the POST you will be getting from the body (most likely). You can check the Model Binding Video for more details czcams.com/video/bxksp575pk8/video.html
      Let know if you have further questions

  • @jackdaniel4936
    @jackdaniel4936 Pƙed rokem +1

    Hello Rahul. Great explanation. I have a question about HttpClient. When you using typed client, you are giving your interface and concrete in Startup with AddHttpClient() Extension Method and registering it. So i wonder what is the lifetime of my services when i use typed client and register my services with AddHttpClient method? It is adding my service as singleton to my ioc contanier? Or transient? I am asking this because when i only use services.AddHttpClient() (this is calling basic usage) i need to register my services separately. And i am free to choose lifetime in that way. But in typed clients, AddHttpClient method is registering our services for us and i want to learn what is the lifetime of my services when i use a typed client. Because i want to use typed client and set my IWeather service as singleton. But i am not sure what if it adds my service as Transient.
    Thank you, love your videos!

    • @jackdaniel4936
      @jackdaniel4936 Pƙed rokem +1

      Hello again, i am still confused about this situation. For example i did this but i dont know if this logic is true.
      services.AddHttpClient();
      services.AddSingleton();
      class MyService : IMyService
      {
      ctor()
      {
      inject IHttpClientFactory
      inject ILogger (default ILogger lifetime is singleton as i saw in documents)
      inject Another SingletonService..
      }
      public async Task MyMethod()
      {
      var client = httpClientFactory.CreateClient();
      var response = await client.GetAsync();
      //use other registered services...
      }
      }
      As you see, i can make singleton myservice in this way. I dont know my approach is true or not and i dont know i can do this with a typed client because a typed client is registered as transient and i dont want this.

    • @RahulNath
      @RahulNath  Pƙed rokem +1

      Hey Jack, The typed client is registered as transient with DI container. docs.microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests#how-to-use-typed-clients-with-ihttpclientfactory
      Hope that helps.

  • @hakami1426
    @hakami1426 Pƙed rokem

    Would you recommend using typed clients or using strings as keys?

    • @RahulNath
      @RahulNath  Pƙed rokem

      What are you referring to with strings as keys ? Can you please give more details

    • @hakami1426
      @hakami1426 Pƙed rokem

      @@RahulNath The alternative to using typed clients, where you pass a string to specify the base address of an api.

  • @mayureshs80
    @mayureshs80 Pƙed 3 lety +1

    Nice work! How would the DI look if there were multiple services each calling a different external HTTP endpoint? Would you keep on repeating the AddHttpClient call for each of those service ?

    • @RahulNath
      @RahulNath  Pƙed 3 lety +1

      Thanks, Mayuresh.
      Yes, I do repeat the AddHttpClient multiple times. To make it cleaner you can write an extension method and use that in the Startup.cs (like below)
      _services.AddWeatherService();_
      Check out this commit for an example - bit.ly/httpclientextension
      Let know if that helps.

    • @mayureshs80
      @mayureshs80 Pƙed 3 lety

      @@RahulNath Thanks for the tip. That helps. This would make it possible to create a endpoint specific base service class as well and have every other service inherit from it.

    • @RahulNath
      @RahulNath  Pƙed 3 lety

      With the base service class what properties are you trying to inherit? I generally try to avoid inheritance for code reuse

    • @mayureshs80
      @mayureshs80 Pƙed 3 lety

      @@RahulNath Probably just the endpoint property if there are multiple service classes using the same endpoint.

    • @RahulNath
      @RahulNath  Pƙed 3 lety

      ​@@mayureshs80 Ok.

  • @balanatrayan
    @balanatrayan Pƙed 2 lety +1

    Thank you Rahul! This is an excellent video. Quick question. I'm looking for a way to call the API for every 5 minutes. For ex: If I have to call this WeatherAPiI for every 5 mins, How would I do it? Do you have any suggestions?

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Thank you Bala. I would consider Background Tasks first. you can check it out here czcams.com/video/oWMQKjHrlJE/video.html
      Let me know if that helps or if you have additional questions

    • @balanatrayan
      @balanatrayan Pƙed 2 lety

      @@RahulNath Thank you Rahul! Your video on Background Tasks helped me to understand the BackgroundService concepts clearly. I was able to call the API for every 5 mins using the BackgroundService. I really appreciate your effort.

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      @@balanatrayan Great to know that and glad it helped 👍

  • @yondaimefourth
    @yondaimefourth Pƙed rokem

    Damn! Now I can pass my technical exam. All I need to add is the Polly

    • @RahulNath
      @RahulNath  Pƙed rokem +1

      Glad you liked it and wish you luck for the exam. For polly check out here czcams.com/video/z6YcU0PW_9E/video.html

    • @yondaimefourth
      @yondaimefourth Pƙed rokem +1

      @@RahulNath great stuff! If I were to learn your aws course will it also prepare me for the associate developer certification?

    • @RahulNath
      @RahulNath  Pƙed rokem +1

      @@yondaimefourth I haven't taken the associate developer certification myself so not sure of that. The Lambda course gives a good introduction to AWS Lambda and a few commonly used services when building Serverless applications. Currently, there is a discount on the course - details there on my latest giveaway video here czcams.com/video/2eieEJAXmIk/video.html
      I also have an AWS series here on this channel bit.ly/aws-net-series.
      Happy to help if you have additional questions.

    • @yondaimefourth
      @yondaimefourth Pƙed rokem +1

      @@RahulNath great! Thanks mate

  • @chaosinorderrr
    @chaosinorderrr Pƙed 2 lety

    You mentioned that despite using the singleton approach, the connection still stays open as ESTABLISHED. However, in the IHttpClientFactory approach that is still the case. Shouldn't IHttpClientFactory have fixed this?

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      When using singleton it does not handle underlying network level changes etc. Which the factory does handle and recycle the instances. Does that answer the question? Do check out this doc link docs.microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests?mvpaWT.mc_id=AZ-MVP-5003875

  • @norbertcsibi7720
    @norbertcsibi7720 Pƙed 3 lety +1

    Minute 18:30* You are using HttpClient, however, why not sticky httpClientFactory? I use that, and when I create an httpClient of that typed method, the base URL is null :/

    • @RahulNath
      @RahulNath  Pƙed 3 lety

      Using the HttpClientFactory comes under the Basic Usage pattern which is what I show at 12:15. Injecting in the IHttpClient directly is the next usage pattern, which helps clean up the code a bit more, since you don't have to do any of the CreateClient calls etc.When using the factory I believe you need to explicitly set the base URL like I show in the video. Also check the assoicated blog post here if that helps www.rahulpnath.com/blog/are-you-using-httpclient-in-the-right-way/
      Let know if that answers the question

  • @triyuga
    @triyuga Pƙed 3 lety +1

    It would be cool if you publish your demos as public github repos...

    • @RahulNath
      @RahulNath  Pƙed 3 lety +1

      Sorry missed posting the link in the comments. Here you go - rahulpnath.visualstudio.com/DefaultCollection/CZcams%20Samples/_git/MakingHttpRequest.
      Thanks for pointing it out!

    • @triyuga
      @triyuga Pƙed 3 lety

      @@RahulNath I used this today at work to hit the Australian Business Register.

  • @kj2w
    @kj2w Pƙed 2 lety

    Thank you Mr. Nath, this was very helpful. You have a new subscriber! Now by any chance have you explained IEnumerable vs IQueryable in another video somewhere? :D

    • @RahulNath
      @RahulNath  Pƙed 2 lety

      Thank you. Not yet and thank you for the suggestion.