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
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?
@@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.
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
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
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!
Glad to hear that Satheesh 😀 You will definitely like other videos in this series then th-cam.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html Do check them out and let me know. Also let know if you want any particular topics covered.
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 ♥♥♥.
Thank you Thomas and welcome to the channel. For ASP NET do check out my series th-cam.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html Do let me know if there are specific areas that you would like to be covered.
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 .
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.
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 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 😊
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.
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?
@@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.
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 .
Thank you Ranger. Do checkout my ASP NET Core Series here th-cam.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html I'm sure you'll like it. And call me Rahul 😀
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.
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
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.
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 -th-cam.com/video/SizJCLcjbOA/w-d-xo.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.
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?
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?
Glad you are finding these useful Victor! Did you get a chance to watch this video? th-cam.com/video/XE1w52pNYr8/w-d-xo.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?
@@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.
@@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 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 th-cam.com/users/postUgzvsuKE7KLhPaMzCMN4AaABCQ
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.
@@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.
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.
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.
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
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.
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?
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 th-cam.com/video/bSwqkKKV7iM/w-d-xo.htmlsi=rAgktdmujWLzNWG0 Let me know if that answers your question. Happy to assist if you have more questions.
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 ?
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 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.
@@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
@@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?
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.
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
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.
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
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
The DependencyService1 (and 2) takes in other dependencies via it's constructor - rahulpnath.visualstudio.com/DefaultCollection/TH-cam%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.
@@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
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
Source Code - rahulpnath.visualstudio.com/DefaultCollection/TH-cam%20Samples/_git/dependencyinjection
One of the best tutorial for Dependency injection.
No fun , only serious learnings across the video.
Thank you Shivam and happy you found it useful
one of the best instructor i have seen ,very clean and clear concept ,Hats off sir
Glad you like it Abhishek - Do check out the ASP Series bit.ly/asp-net-core-series
I like that you covered small details while explaining a concept. --- Give this man a raise (Obama pointing finger).
Thank you Siddharth. Hope you are enjoying the series bit.ly/asp-net-core-series
You are the best teacher. You should consider making a Pluralsight or Udemy course.
Thank you Arun. It means a lot and sure yes I am considering making a course too. Thanks again for your support!
@arun satyarth completely agree with you
no.. stay here..there we need to pay
Amazing work, so far it's the best explanation for Dependency Injection.
That's so nice. Glad you found it useful Ahmed.
Yours is the best channel to learn asp.net from, in the whole TH-cam. Keep it up. Thanks.
Wow, that made my day Sam! 😍 Thank you and happy you are liking it
The best example of DI lifetime I ever see. Great Job....
That is so nice to know!
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
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?
@@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.
@@suryak4224 Thank you again Surya for the reply. Do let me know if you have any topic/content suggestions as well.
The best. I really really appreciate your clear explanation. I'm sure this channel is going to get much bigger. Thank you
Glad you think so Anthony!
A video with 0 dislikes. nice thanks
Thank you Preetam. Happy you liked it😀
Your really a good teacher I have ever seen in youtube channel . simplly you r great 👍👍
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
Superb. Clear explanation . Thanks for the details explananation
So happy these are helpful Balaji and thank you for letting know 😀
Very Precise, Simple and easy to understand .. really liked it.
Thank you Amit! Do check out the full series bit.ly/asp-net-core-series
Excellent. Thank you Rahul.
Thank you Pradip!
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
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!
Great video, explanation and examples :)
Thank you! 😀
You're great teacher, greetings from Poland :)
Thank you Volodya. Happy you find it useful. Hope you are liking the series th-cam.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html
Rahul, Thanks for detailed insight on DI!!
Cool thanks!
Good job, detailed explanation which helps in realtime development.
Glad it was helpful! Do check out the full series here bit.ly/asp-net-core-series
Thank you for great videos Rahul !
Glad it was helpful!
As always.. brilliant content with a great explanation. Thanks.
Awesome thank you! Glad you found it useful 😀
Very good explanation!!
Thank you Vinod!
Thanks again for good explanation
Always welcome. You might like the other videos in this series too bit.ly/asp-net-core-series
You are amazing man. No one else explained this in easy and understandable way
Glad to hear that Satheesh 😀 You will definitely like other videos in this series then th-cam.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html
Do check them out and let me know. Also let know if you want any particular topics covered.
nice explanation Rahul, i really liked the diagram showing the lifetimes
Happy you liked it and found it useful.
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 ♥♥♥.
Thanks a lot! Hope you are enjoying the full series here bit.ly/asp-net-core-series
Good explanation Thanks Rahul.
Happy you found it useful - Do check out the full series in case you haven't already bit.ly/asp-net-core-series
@@RahulNath sure Rahul thanks
very good explications , thanks
Glad it was helpful! The full series is here bit.ly/asp-net-core-series
Thanks for clear explanation
You are welcome and do check out the full series here bit.ly/asp-net-core-series
You explain so well. I'm glad I stumbled upon your channel. Keep it up.
Thank you Thomas and welcome to the channel. For ASP NET do check out my series th-cam.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html
Do let me know if there are specific areas that you would like to be covered.
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 .
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.
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 ?
You're very welcome! Yes already on it - Been a bit away from TH-cam, will be back soon!
crisp and clear explanations Rahul, thank you. What are we trying to achieve by ISingletonInstance in the video?
Mostly to demo the different lifetime scopes. Just to make aware of them. It's rarely I've had to use Singleton lifetime scope.
@@RahulNath thank you. Yes scoped is what I have used mostly.
Great video 👍
Thank you for watching other videos in this series and leaving back a comment! Hope you like the rest too and more to come 😀
@@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 😊
@@patrickmullen5167 Thank you! 😀
Nice job. You're a great explainer.
Thank you Keith!! Do check out the full series here bit.ly/aws-net-series
I'm sure you will like them 😀
Pure Gold Content. Thanks a lot man for all of the great content you make.
My pleasure Sidhant! The full series is here in case you haven't seen th-cam.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html
This is just amazing, thank you very much!
Glad you like it!
Please post the video for SOLID principles with the real time scenarios implementation
Specifically Open/Closed and Liskov Substitution Principle
Good suggestion, thank you!
Good one!!
Thank you!
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.
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?
@@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.
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 .
Yes you can inject Singleton to other than controller. Make a class singleton only if absolutely required.
Nice Explanation bro.to make 15:15 the compiler happy :)
Glad you liked it! Hope you are enjoying the series bit.ly/asp-net-core-series
Love the way you explain.....
Thanks a lot 😊The full series is there in case you haven't come across it bit.ly/asp-net-core-series
You're really good🔥
Thank you josephine - Do check out the ASP Series bit.ly/asp-net-core-series
Awesome sir👍
Thank you Ranger. Do checkout my ASP NET Core Series here th-cam.com/play/PL59L9XrzUa-nqfCHIKazYMFRKapPNI4sP.html
I'm sure you'll like it. And call me Rahul 😀
Super Explanation
Glad you liked it Raghav! Hope you are enjoying the series bit.ly/asp-net-core-series
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.
why I did not found you earlier. Making my interview preparation easy with each video. Great explanation not just this video but all.
Glad you like it Zeeshan. Good luck with your interviews!
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
@@zeeshanbage4267 Great to hear that Zeeshan. Good luck and do let me know how that goes.
Amazing
Thank you Aman! Do check out the ASP Series bit.ly/asp-net-core-series
This is a gem...
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 😀
Ah man, I have to ruin the 420 like count because you deserve one more like. Great video!
Glad you liked it Juan! Do check out the full series here if you haven't already bit.ly/asp-net-core-series
@@RahulNath Will do!
This is great!
Thank you John!!
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.
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 -th-cam.com/video/SizJCLcjbOA/w-d-xo.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.
Okay, thank you.
Great tutorials. Could you zoom in a bit when making your videos as the text appear so small and blurry please? Thanks
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?
@@RahulNath Thanks for responding. I'm watching on a MacBook Pro. The problem was the video resolution. Thanks for pointing that out.
@@lyrixghgc Glad it’s resolved! Hope you are liking the content . Do let know if you have any feedback 👍
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?
Glad you are finding these useful Victor!
Did you get a chance to watch this video? th-cam.com/video/XE1w52pNYr8/w-d-xo.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?
@@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.
@@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.
@@RahulNath thank you. Yeah that sounds something I can do. Anyways, a video about this would be much appreciated. 😊
@@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 th-cam.com/users/postUgzvsuKE7KLhPaMzCMN4AaABCQ
FYI, Startup.cs is missing because it got merged into the Program.cs file. Hope that helps someone!
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.
That’s Gold 🤩
Glad you liked it. Do check out the full series bit.ly/asp-net-core-series
@@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.
@@AbdullahSajjad-p4p Glad to hear that. Do let know if you have any questions or topic suggestions.
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.
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.
Hi Rahul, how can we Inject parameterized constructor using dependency injection?
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
awesome
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.
nice
Hope you are enjoying the full series bit.ly/asp-net-core-series
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?
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 th-cam.com/video/bSwqkKKV7iM/w-d-xo.htmlsi=rAgktdmujWLzNWG0
Let me know if that answers your question. Happy to assist if you have more questions.
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 ?
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.
@@RahulNath its a reusable DLL, shared across different applications, i cannot add host files or program.cs
@@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.
@@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
@@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?
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.
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
@@RahulNath Thanks Rahul 😊
Why we use Interfaces for dependency injection or repository patten? is there any other way to achieve this ?
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.
@@RahulNath Thanks a lot Sir, this Make sense.
@@muhammadayazmehmoodabdulha6361 Perfect and you can call me Rahul 🙂
Gold!
Thank you😀
Thanks 😎
Welcome 😊Do check out the full series if you haven't already bit.ly/asp-net-core-series
Hi,
How to update ASP.Net site dll without stopping site?
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
now i can start
Hope it helped Aaron
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
The DependencyService1 (and 2) takes in other dependencies via it's constructor - rahulpnath.visualstudio.com/DefaultCollection/TH-cam%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.
@@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
@@pritishranjan Awesome thanks. Do let know if you want any particular topics covered.
@@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
Pritish Ranjan Noted thanks!
Thank you :)
You're welcome Anup! Hope you are enjoying the series
You are awsome sir! You are fucking Awsome!
Thank you 😀
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
Hahaha 😆