Тёмный
No video :(

DEPENDENCY INJECTION in ASP.NET Core | Getting Started With ASP.NET Core Series 

Rahul Nath
Подписаться 32 тыс.
Просмотров 45 тыс.
50% 1

Hey Friends, I am back with another video in the ASP NET Core Series. ASP NET Core provides a built-in service container, IServiceProvider. Services are registered in the app's Startup.ConfigureServices method. The framework takes the responsibility of creating and managing the lifetime of the dependency object.
In this video, we will learn more about the default Dependency Injection container shipped with ASP NET Core and how to use it for managing dependencies. I will walk through the different ways of registering services to the container, understand more about the lifetime scopes in the container. I will show the differences between Transient, Scoped, and Singleton lifetime scopes and how to register and use them in the application.
🔗Dependency Injection- docs.microsoft...
📕Book: Dependency Injection Principles, Practices, and Patterns - amzn.to/2C5XNQM
Come say hi! ✋
🌍 Blog - rahulpnath.com/
✉ Subscribe to my Newsletter - www.rahulpnath...
🐦Twitter - / rahulpnath
📸Instagram - / rahulpnath
🎥 Recording Setup and Workflow - www.rahulpnath...
Make sure to SUBSCRIBE to the channel. THANK YOU for helping me grow this channel !!

Опубликовано:

 

21 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 178   
@RahulNath
@RahulNath 4 года назад
Source Code - rahulpnath.visualstudio.com/DefaultCollection/RU-vid%20Samples/_git/dependencyinjection
@suryak4224
@suryak4224 2 месяца назад
you are a good teacher for the people who have been already working as developer and refresh skills, but for beginners, your videos will be like bouncers over the head
@RahulNath
@RahulNath 2 месяца назад
Thank you Surya for your valuable feedback. Which group do you think you fall under? Can you give some details on why it would be bouncers over the headfor beginner and anything I could do better to improve that?
@suryak4224
@suryak4224 2 месяца назад
@@RahulNath Thank you for your response. I have been working as dotnet developer for almost 10 years and your tutorial really helped me to brushup skills on .net core api. Somehow I feel you are bit speed for beginers as you are moving quickly with navigations and code blocks.
@RahulNath
@RahulNath 2 месяца назад
@@suryak4224 Thank you again Surya for the reply. Do let me know if you have any topic/content suggestions as well.
@shivamsoni6728
@shivamsoni6728 3 года назад
One of the best tutorial for Dependency injection. No fun , only serious learnings across the video.
@RahulNath
@RahulNath 3 года назад
Thank you Shivam and happy you found it useful
@siddharth3837
@siddharth3837 2 года назад
I like that you covered small details while explaining a concept. --- Give this man a raise (Obama pointing finger).
@RahulNath
@RahulNath 2 года назад
Thank you Siddharth. Hope you are enjoying the series bit.ly/asp-net-core-series
@arunsatyarth9097
@arunsatyarth9097 3 года назад
You are the best teacher. You should consider making a Pluralsight or Udemy course.
@RahulNath
@RahulNath 3 года назад
Thank you Arun. It means a lot and sure yes I am considering making a course too. Thanks again for your support!
@shubhamkoolwal139
@shubhamkoolwal139 3 года назад
@arun satyarth completely agree with you
@mvdlele29
@mvdlele29 3 года назад
no.. stay here..there we need to pay
@ahmedbasha4174
@ahmedbasha4174 3 года назад
Amazing work, so far it's the best explanation for Dependency Injection.
@RahulNath
@RahulNath 3 года назад
That's so nice. Glad you found it useful Ahmed.
@preetamjakhmola7521
@preetamjakhmola7521 3 года назад
A video with 0 dislikes. nice thanks
@RahulNath
@RahulNath 3 года назад
Thank you Preetam. Happy you liked it😀
@samstring6827
@samstring6827 3 года назад
Yours is the best channel to learn asp.net from, in the whole RU-vid. Keep it up. Thanks.
@RahulNath
@RahulNath 3 года назад
Wow, that made my day Sam! 😍 Thank you and happy you are liking it
@AnthonyInSanDiego
@AnthonyInSanDiego 3 года назад
The best. I really really appreciate your clear explanation. I'm sure this channel is going to get much bigger. Thank you
@RahulNath
@RahulNath 3 года назад
Glad you think so Anthony!
@volodyakachalka5187
@volodyakachalka5187 Год назад
You're great teacher, greetings from Poland :)
@RahulNath
@RahulNath Год назад
Thank you Volodya. Happy you find it useful. Hope you are liking the series ru-vid.com/group/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP
@dotnetdeveloper288
@dotnetdeveloper288 3 года назад
The best example of DI lifetime I ever see. Great Job....
@RahulNath
@RahulNath 3 года назад
That is so nice to know!
@RyantheCanuckpirate
@RyantheCanuckpirate Год назад
Thank you for including a book recommendation for those who want to take a deep dive - I'm always looking for recommendations on resources and people are hesitant to make recommendations they don't personally directly benefit from
@RahulNath
@RahulNath Год назад
Glad to hear that and thank you for letting me know. I do have some general book recommendation over at my blog (that has helped me as a dev) www.rahulpnath.com/blog/language-agnostic-books-for-every-developer/ www.rahulpnath.com/blog/language-agnostic-books-for-every-developer-2/ Hope you find them useful too!
@ruralsoftwareengineer3435
@ruralsoftwareengineer3435 3 года назад
Superb. Clear explanation . Thanks for the details explananation
@RahulNath
@RahulNath 3 года назад
So happy these are helpful Balaji and thank you for letting know 😀
@samitkrghosh4388
@samitkrghosh4388 2 года назад
Your really a good teacher I have ever seen in youtube channel . simplly you r great 👍👍
@RahulNath
@RahulNath 2 года назад
So nice of you and thank you Samit! The full ASP NET Series is available here bit.ly/asp-net-core-series Do let me know if you have any topic suggestions or feedback
@juhairahamed5342
@juhairahamed5342 2 года назад
Thanks again for good explanation
@RahulNath
@RahulNath 2 года назад
Always welcome. You might like the other videos in this series too bit.ly/asp-net-core-series
@pradipmanna6371
@pradipmanna6371 3 года назад
Excellent. Thank you Rahul.
@RahulNath
@RahulNath 3 года назад
Thank you Pradip!
@ezhisaivallabanr3189
@ezhisaivallabanr3189 2 года назад
Thanks for clear explanation
@RahulNath
@RahulNath 2 года назад
You are welcome and do check out the full series here bit.ly/asp-net-core-series
@Aman-x5g
@Aman-x5g 29 дней назад
Amazing
@RahulNath
@RahulNath 27 дней назад
Thank you Aman! Do check out the ASP Series bit.ly/asp-net-core-series
@starman9000
@starman9000 4 года назад
Rahul, Thanks for detailed insight on DI!!
@RahulNath
@RahulNath 4 года назад
Cool thanks!
@saturninramirez1107
@saturninramirez1107 2 года назад
very good explications , thanks
@RahulNath
@RahulNath 2 года назад
Glad it was helpful! The full series is here bit.ly/asp-net-core-series
@srinivasrapaka4729
@srinivasrapaka4729 Год назад
Nice Explanation bro.to make 15:15 the compiler happy :)
@RahulNath
@RahulNath Год назад
Glad you liked it! Hope you are enjoying the series bit.ly/asp-net-core-series
@amitlizza
@amitlizza Год назад
Very Precise, Simple and easy to understand .. really liked it.
@RahulNath
@RahulNath Год назад
Thank you Amit! Do check out the full series bit.ly/asp-net-core-series
@rangerpedia3057
@rangerpedia3057 3 года назад
Awesome sir👍
@RahulNath
@RahulNath 3 года назад
Thank you Ranger. Do checkout my ASP NET Core Series here ru-vid.com/group/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP I'm sure you'll like it. And call me Rahul 😀
@ashamarias
@ashamarias 3 года назад
Great video, explanation and examples :)
@RahulNath
@RahulNath 3 года назад
Thank you! 😀
@patrickmullen5167
@patrickmullen5167 3 года назад
Great video 👍
@RahulNath
@RahulNath 3 года назад
Thank you for watching other videos in this series and leaving back a comment! Hope you like the rest too and more to come 😀
@patrickmullen5167
@patrickmullen5167 3 года назад
@@RahulNath your videos are the right level of concise and detailed, and always clear. I’ve watched a few, and look forward to watching more. Best wishes 😊
@RahulNath
@RahulNath 3 года назад
@@patrickmullen5167 Thank you! 😀
@deivamanidhandabani9505
@deivamanidhandabani9505 2 года назад
Good explanation Thanks Rahul.
@RahulNath
@RahulNath 2 года назад
Happy you found it useful - Do check out the full series in case you haven't already bit.ly/asp-net-core-series
@deivamanidhandabani9505
@deivamanidhandabani9505 2 года назад
@@RahulNath sure Rahul thanks
@Lunolux
@Lunolux Год назад
nice
@RahulNath
@RahulNath Год назад
Hope you are enjoying the full series bit.ly/asp-net-core-series
@centrilla1169
@centrilla1169 2 года назад
This is a gem...
@RahulNath
@RahulNath 2 года назад
Happy to hear that ! Do check out the full series here bit.ly/asp-net-core-series Do let know in case you get to watch any of it 😀
@DP-mo9gi
@DP-mo9gi 2 года назад
I've no words to explain how good You explain a Complicated concept this much Easily, your channel is going to be very big in the future, All the best Sir. Love from INDIA ♥♥♥.
@RahulNath
@RahulNath 2 года назад
Thanks a lot! Hope you are enjoying the full series here bit.ly/asp-net-core-series
@raghavambashta4564
@raghavambashta4564 3 месяца назад
Super Explanation
@RahulNath
@RahulNath 3 месяца назад
Glad you liked it Raghav! Hope you are enjoying the series bit.ly/asp-net-core-series
@alfullard8887
@alfullard8887 3 года назад
As always.. brilliant content with a great explanation. Thanks.
@RahulNath
@RahulNath 3 года назад
Awesome thank you! Glad you found it useful 😀
@IndiaThatIsBhaarat
@IndiaThatIsBhaarat 4 года назад
Good one!!
@RahulNath
@RahulNath 4 года назад
Thank you!
@vinodcd
@vinodcd 3 года назад
Very good explanation!!
@RahulNath
@RahulNath 3 года назад
Thank you Vinod!
@pkapilsrisai4737
@pkapilsrisai4737 2 года назад
Love the way you explain.....
@RahulNath
@RahulNath 2 года назад
Thanks a lot 😊The full series is there in case you haven't come across it bit.ly/asp-net-core-series
@chetansn6
@chetansn6 Год назад
Good job, detailed explanation which helps in realtime development.
@RahulNath
@RahulNath Год назад
Glad it was helpful! Do check out the full series here bit.ly/asp-net-core-series
@antarikshverma8999
@antarikshverma8999 2 года назад
Thank you for great videos Rahul !
@RahulNath
@RahulNath 2 года назад
Glad it was helpful!
@jmsatheesh1
@jmsatheesh1 3 года назад
You are amazing man. No one else explained this in easy and understandable way
@RahulNath
@RahulNath 3 года назад
Glad to hear that Satheesh 😀 You will definitely like other videos in this series then ru-vid.com/group/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP Do check them out and let me know. Also let know if you want any particular topics covered.
@RoySourav
@RoySourav 3 года назад
awesome
@RahulNath
@RahulNath 3 года назад
Thank you Sourav and glad you like it. Happy you are checking out the other videos. Do let me know if you have any specific topic suggestions to be covered.
@igorlira7330
@igorlira7330 2 года назад
This is just amazing, thank you very much!
@RahulNath
@RahulNath 2 года назад
Glad you like it!
@thomasmunguya2207
@thomasmunguya2207 3 года назад
You explain so well. I'm glad I stumbled upon your channel. Keep it up.
@RahulNath
@RahulNath 3 года назад
Thank you Thomas and welcome to the channel. For ASP NET do check out my series ru-vid.com/group/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP Do let me know if there are specific areas that you would like to be covered.
@sree7986
@sree7986 2 года назад
nice explanation Rahul, i really liked the diagram showing the lifetimes
@RahulNath
@RahulNath 2 года назад
Happy you liked it and found it useful.
@TheMrjuanblack
@TheMrjuanblack 2 года назад
Ah man, I have to ruin the 420 like count because you deserve one more like. Great video!
@RahulNath
@RahulNath 2 года назад
Glad you liked it Juan! Do check out the full series here if you haven't already bit.ly/asp-net-core-series
@TheMrjuanblack
@TheMrjuanblack 2 года назад
@@RahulNath Will do!
@user-ic4rq1jp1o
@user-ic4rq1jp1o 7 месяцев назад
That’s Gold 🤩
@RahulNath
@RahulNath 7 месяцев назад
Glad you liked it. Do check out the full series bit.ly/asp-net-core-series
@user-ic4rq1jp1o
@user-ic4rq1jp1o 7 месяцев назад
@@RahulNath Surely I’m following it. I am an experienced frontend developer having some nestjs backend experience but want to move to full time backend development and would love to use C# for that to get into enterprise level tech and your series is really helpful in understand dotnet concepts.
@RahulNath
@RahulNath 7 месяцев назад
@@user-ic4rq1jp1o Glad to hear that. Do let know if you have any questions or topic suggestions.
@boggybayouboy
@boggybayouboy 2 года назад
This is great!
@RahulNath
@RahulNath 2 года назад
Thank you John!!
@sidhantverma
@sidhantverma 2 года назад
Pure Gold Content. Thanks a lot man for all of the great content you make.
@RahulNath
@RahulNath 2 года назад
My pleasure Sidhant! The full series is here in case you haven't seen ru-vid.com/group/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP
@netscapeinthewood3345
@netscapeinthewood3345 2 года назад
Thanks 😎
@RahulNath
@RahulNath 2 года назад
Welcome 😊Do check out the full series if you haven't already bit.ly/asp-net-core-series
@keithmar5996
@keithmar5996 2 года назад
Nice job. You're a great explainer.
@RahulNath
@RahulNath 2 года назад
Thank you Keith!! Do check out the full series here bit.ly/aws-net-series I'm sure you will like them 😀
@deivamanidhandabani9505
@deivamanidhandabani9505 2 года назад
Please post the video for SOLID principles with the real time scenarios implementation Specifically Open/Closed and Liskov Substitution Principle
@RahulNath
@RahulNath 2 года назад
Good suggestion, thank you!
@anurag3487
@anurag3487 3 года назад
crisp and clear explanations Rahul, thank you. What are we trying to achieve by ISingletonInstance in the video?
@RahulNath
@RahulNath 3 года назад
Mostly to demo the different lifetime scopes. Just to make aware of them. It's rarely I've had to use Singleton lifetime scope.
@anurag3487
@anurag3487 3 года назад
@@RahulNath thank you. Yes scoped is what I have used mostly.
@kiranshetty4316
@kiranshetty4316 3 года назад
Rahul , Thanks for the Video . I have one request Can you pls explain with Video Why DBContext LIfetime is Scoped Bydefault why not they made it with Transient or Singleton And what happens if doing so .
@RahulNath
@RahulNath 3 года назад
Thanks again Kiran and happy this helps. With web applications since you want the updates the updates to be isolated to your each of the request that comes in, it helps DBContext being Scoped. If they are SIngleton you can end up updating same objects from multiple threads etc. Let know if that helps.
@aaroncastanos4549
@aaroncastanos4549 2 года назад
now i can start
@RahulNath
@RahulNath 2 года назад
Hope it helped Aaron
@sakathvenu
@sakathvenu 3 года назад
Gold!
@RahulNath
@RahulNath 3 года назад
Thank you😀
@thinklive678
@thinklive678 3 года назад
Hey Rahul, Could you please make video in which existing asp.net core application move from http to https for all environment. Many Thanks for your help in Advance.
@RahulNath
@RahulNath 3 года назад
Hey Ravi, This would have little changes on the ASP Net side itself and more on how you and where you are hosting, what certificates you are using, etc. Can you provide more details on what issue you are facing?
@thinklive678
@thinklive678 3 года назад
@@RahulNath I need set path for self signed certificate for dev and higher environment where I am facing issue also in the configure and configureService method code change for https. If you can guide me there or any link or pdf is there then it would be highly appreciated.
@Blr046
@Blr046 2 года назад
I really appreciate your work. Thank you so much for sharing your knowledge. I am currently using Visual Studio 2022. Lot of things changed, there is no startup.cs. Would it be possible to update your videos for Visual Studio 2022 ?
@RahulNath
@RahulNath 2 года назад
You're very welcome! Yes already on it - Been a bit away from RU-vid, will be back soon!
@rohan4rich
@rohan4rich 3 года назад
Hello Rahul Sir, I have one question can we use service singleton instance in any other class (other than controller) , for example I have ValueController - BusinessOperation class(custom logic) - database operation class and here I have to create Singleton service instance of Database operation class and use it in BusinessOperation class .
@RahulNath
@RahulNath 3 года назад
Yes you can inject Singleton to other than controller. Make a class singleton only if absolutely required.
@anupchandran
@anupchandran 2 года назад
Thank you :)
@RahulNath
@RahulNath 2 года назад
You're welcome Anup! Hope you are enjoying the series
@lyrixghgc
@lyrixghgc Месяц назад
Great tutorials. Could you zoom in a bit when making your videos as the text appear so small and blurry please? Thanks
@RahulNath
@RahulNath Месяц назад
Thank you eddie for the feedback. Haven't had anyone tell that before. May I ask what device/where you are watching this? Also what's the resolution of the video that youtube shows when you view it?
@lyrixghgc
@lyrixghgc Месяц назад
@@RahulNath Thanks for responding. I'm watching on a MacBook Pro. The problem was the video resolution. Thanks for pointing that out.
@RahulNath
@RahulNath Месяц назад
@@lyrixghgc Glad it’s resolved! Hope you are liking the content . Do let know if you have any feedback 👍
@callegarip
@callegarip 3 года назад
Once again, what a wonderful teacher you are man. Thank you for all your videos. I have a question, so let's say in a multi layer application, what is the best way of passing information from the Web Api controllers to the other layers, such as BLL or DAL? I now know how to inject dependencies to my controllers in the API project (thank you again). Now, I want to pass/inject the logged User information from the API to my BLL project and I am wondering if there is a best way to do this. At the moment I have a UserDTO class and fill this object in the same api controller then pass it to down to my BLL layer. How would you handle it?
@RahulNath
@RahulNath 3 года назад
Glad you are finding these useful Victor! Did you get a chance to watch this video? ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-XE1w52pNYr8.html Even though the solution used is a AWS template, much of the patterns(using Mediatr + Commands/Query) is what I usually use for the applications I built. Majority of the time I see this working well. When passing the information from the host application (in this case API host) I pass the information via the Command/Query object. Is this something that fits into your model?
@callegarip
@callegarip 3 года назад
@@RahulNath I just watched it. I don’t think it will fit. My application is multi layer but does not need all of this. Really all I was asking is how to pass information down to the business layer as parameters. I have a react application where I login with a user and this user context information is only available in the api because I can use the httpcontext. The BLL and DAL layer cannot Accra to the httpcontext. So what I was asking is what is the best way to pass the user information down to those layers. Right now I have to instantiate my UserDTO and fill the object on every api controller so I can send that object down to the other layers as a parameter in order to user the user information. This works for me but I feel like I am not doing this the right way.
@RahulNath
@RahulNath 3 года назад
​@@callegarip Sorry Victor, missed out on replying earlier. One pattern I can immediately think of is to have a interface defined in Domain Layer (IUserContext), keep this at a request scope in DependencyInjection and set up the content details required from inside your API layer, possibly in a middleware, so that every request will have this auto-populated. You could expose a SetContext method on the interface and use it in the middleware. Anywhere you need the context you can then inject in the IUserContext and retrieve the values from there. So then you don't have to explicitly pass it along with each function call parameter. Let me know if that makes sense. I will think more about this and possibly do a video around this.
@callegarip
@callegarip 3 года назад
@@RahulNath thank you. Yeah that sounds something I can do. Anyways, a video about this would be much appreciated. 😊
@RahulNath
@RahulNath 3 года назад
@@callegarip Sure I will add it to my list. Let me know how it goes in case you get to give this a try. Also do drop in if you have other topic suggestions here ru-vid.comUgzvsuKE7KLhPaMzCMN4AaABCQ
@pradipmanna6371
@pradipmanna6371 3 года назад
Hi, sorry if the question is silly. I want to use a value from an injected dependency, say using IConfiguration I want to retrieve a config value in a static class / static property. Is that really possible? Actually, I want to create a 'GlobalHelper' to store all required static vars and make them available to every resource that needs it. Thanks.
@RahulNath
@RahulNath 3 года назад
Not sure why you want it as a static class/property. To use configuration values you can use the Options Pattern. Learn more about it and how to use it here -ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-SizJCLcjbOA.html Let know if that helps solve your problem. If not kindly detail out the problem you are trying to solve (not the how) and I can try help.
@pradipmanna6371
@pradipmanna6371 3 года назад
Okay, thank you.
@thefront5871
@thefront5871 Год назад
FYI, Startup.cs is missing because it got merged into the Program.cs file. Hope that helps someone!
@RahulNath
@RahulNath Год назад
Thank you for pointing it out - Yes this video was made with .NET 3.1. With .NET 6 by default, it's merged but the overall concept still remains the same.
@leanhxuan4931
@leanhxuan4931 2 года назад
Hello Rahul, I eally appreciate your clear explanation but have a question: After override IFunctionsHostBuilder at startup; When I call azure function from client side with url and appkey then function fails with error message like this: Microsoft.AspNetCore.Authentication.Core: No authentication handlers are registered. Did you forget to call AddAuthentication().Add[SomeAuthHandler]("WebJobsAuthLevel",...)?. Please help me know how the way to fix this trouble.
@pritishranjan
@pritishranjan 4 года назад
What is a dependency implemented class requires a another Dependency type as a parameter..as Guid simple..what is a dependency requires a dependency type as a parameter
@RahulNath
@RahulNath 4 года назад
The DependencyService1 (and 2) takes in other dependencies via it's constructor - rahulpnath.visualstudio.com/DefaultCollection/RU-vid%20Samples/_git/dependencyinjection?path=%2FDependencyService1.cs Also, the Operation class takes in a Guid parameter which we saw (12:15) in the SingletonInstance case being injected in using the factory constructed method. If you are looking to inject in config like values you can also use the Options pattern - docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/options?view=aspnetcore-3.1 All dependencies need not be injected in via the constructor, you can also see if it makes more sense to pass it as a function parameter when using the object. Let me know if that helps. If not please give more details about your scenario and I am happy to provide more details.
@pritishranjan
@pritishranjan 4 года назад
@@RahulNath Thanks for the response...I find ur videos well explained...keep making ...as I am a beginner and moving from .NET to .NET Core..thanks
@RahulNath
@RahulNath 4 года назад
@@pritishranjan Awesome thanks. Do let know if you want any particular topics covered.
@pritishranjan
@pritishranjan 4 года назад
@@RahulNath ya .. please consider these topics for videos 1.Repository Pattern with EF Core 2.Extending , Configuring, and Modifying ASP.NET Identity for auth 3.Adding Razor pages to a Existing ASP.NET Core web project 4.How to keep good relations between Model, ViewModel and DTOs
@RahulNath
@RahulNath 4 года назад
Pritish Ranjan Noted thanks!
@rohitshaw9191
@rohitshaw9191 2 месяца назад
I have just started learning .net core. I saw that you have used Startup.cs file for declaration of the service lifetime, But Startup.cs file is discontinued from .net 6. How do we manage that?
@RahulNath
@RahulNath Месяц назад
Hey Rohit, Hope you are finding .NET Core interesting. Yes you are right the Startup class is no longer part of the default template. I had made this video on .net core 3.1 when it existed. You can learn more about it in this video here ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-bSwqkKKV7iM.htmlsi=rAgktdmujWLzNWG0 Let me know if that answers your question. Happy to assist if you have more questions.
@NK-xw4uu
@NK-xw4uu 3 года назад
Every request to the controller will result in creation of new DependencyService1 and DependencyService2 objects because they are registered as Transient. However within the DependencyService1/2 code you have used various types of IOperations (registered as transient/scoped/singleton). In the case of scoped and singleton, how does the program ensure that within every new instance of DependencyService1/2 you get same instance of scoped (in the single request) and same instance of singleton (across all requests)? Is this the functionality of the DI container's internal implementation? Also, is this an example of multilevel DI that you have shown? Level 1 is the DependencyService1/2 and Level 2 is the Operation.
@RahulNath
@RahulNath 3 года назад
Hey Nachiket, The examples shows are purely for representational purposes. Is there a real world example/issue that you are facing? If you provide more details on what you are trying to solve I could try and help.
@theyoutuber273
@theyoutuber273 3 года назад
You are awsome sir! You are fucking Awsome!
@RahulNath
@RahulNath 3 года назад
Thank you 😀
@AkashTripathi5
@AkashTripathi5 2 года назад
Hi Rahul, how can we Inject parameterized constructor using dependency injection?
@RahulNath
@RahulNath 2 года назад
Are you looking for some thing like this docs.autofac.org/en/latest/register/parameters.html? I think it's not supported with default DI. Check out some guidelines here on Default service container replacement docs.microsoft.com/en-us/dotnet/core/extensions/dependency-injection-guidelines?WT.mc_id=AZ-MVP-5003875#default-service-container-replacement
@srikanthek737
@srikanthek737 2 года назад
Thanks for the video, i have a question, say i have a class library without any startups.cs or program.cs , is it possible to implement dependency injection without startup.cs or program.cs ?
@RahulNath
@RahulNath 2 года назад
Thank you. Is it a reusable/shared DLL that you are creating? I prefer having the host application dictate the DI framework rather than a DLL forcing to use a specific one. If you provide more details on your use case maybe I can help more.
@srikanthek737
@srikanthek737 2 года назад
@@RahulNath its a reusable DLL, shared across different applications, i cannot add host files or program.cs
@RahulNath
@RahulNath 2 года назад
@@srikanthek737 It's better to have a readme/doc for the DLL showing how to register the classes in it. You could add extension methods for it too (preferably in a separate DLL). If you look at any .NET libraries out there they follow a similar pattern. Hope that helps.
@srikanthek737
@srikanthek737 2 года назад
@@RahulNath actually i was wondering is that possible to implement dependency Injection just within DLL library without any startup.cs or program.cs. If possible can you please create one such video which might helps many people
@RahulNath
@RahulNath 2 года назад
@@srikanthek737 It will be up to the host to inject the dependencies to the DLL since that will be the context in which your DLL will be used. As long as you are injecting in the dependencies via the constructor, why do you want DI in your DLL?
@deivamanidhandabani9505
@deivamanidhandabani9505 2 года назад
Could you please explain the scenarios when should use Azure Web Jobs Vs Azure Functions Vs Logic Apps and need the scenario to use Azure Service bus Queues and Topics Please advise.
@RahulNath
@RahulNath 2 года назад
This is a good article that covers some of those questions docs.microsoft.com/en-us/azure/azure-functions/functions-compare-logic-apps-ms-flow-webjobs?WT.mc_id=AZ-MVP-5003875
@deivamanidhandabani9505
@deivamanidhandabani9505 2 года назад
@@RahulNath Thanks Rahul 😊
@muhammadayazmehmoodabdulha6361
@muhammadayazmehmoodabdulha6361 2 года назад
Why we use Interfaces for dependency injection or repository patten? is there any other way to achieve this ?
@RahulNath
@RahulNath 2 года назад
Mostly because with C# you can easily swap interface implementations and it helps when testing, mocking etc. With classes you are stuck with that particular implementation. It depends on what you are use cases are. Does that help? Feel free to ask if you have more questions.
@muhammadayazmehmoodabdulha6361
@muhammadayazmehmoodabdulha6361 2 года назад
@@RahulNath Thanks a lot Sir, this Make sense.
@RahulNath
@RahulNath 2 года назад
@@muhammadayazmehmoodabdulha6361 Perfect and you can call me Rahul 🙂
@rahulsalokhe200
@rahulsalokhe200 2 года назад
Hi, How to update ASP.Net site dll without stopping site?
@RahulNath
@RahulNath 2 года назад
It depends - what is your current setup? How is the site hosted? If you are on Azure, easiest might be to look at deployment slots docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots
@ryanleemartin7758
@ryanleemartin7758 2 года назад
I appreciate this video but man do I hate how .net does this stuff. My eyes glaze over at all this ServiceProvider, ServiceCollection, IOperation... stuff. I hate it so much lol
@RahulNath
@RahulNath 2 года назад
Hahaha 😆
@zeeshanbage4267
@zeeshanbage4267 2 года назад
why I did not found you earlier. Making my interview preparation easy with each video. Great explanation not just this video but all.
@RahulNath
@RahulNath 2 года назад
Glad you like it Zeeshan. Good luck with your interviews!
@zeeshanbage4267
@zeeshanbage4267 2 года назад
I had interview with thoughtworks this week.. explained them dependency injection and middle were for 15 to 20 mins.. start-up class also..got cleared that round waiting for final round now. Thank you
@RahulNath
@RahulNath 2 года назад
@@zeeshanbage4267 Great to hear that Zeeshan. Good luck and do let me know how that goes.
Далее
Dependency Injection Deep Dive | .NET & C# Essentials
38:01
Ik Heb Aardbeien Gemaakt Van Kip🍓🐔😋
00:41
Italians vs @BayashiTV_  SO CLOSE
00:30
Просмотров 3,9 млн
AddSingleton vs AddScoped vs AddTransient
15:23
Просмотров 211 тыс.
How Dependency Injection Works in #csharp
43:52
Просмотров 53 тыс.
Ik Heb Aardbeien Gemaakt Van Kip🍓🐔😋
00:41