Command Design Pattern in C#
12:36
Adapter Design Pattern in C#
9:42
Strategy Design Pattern In C#
11:46
Event Driven Architecture in  .NET
14:36
Пікірлер
@marshallkoo5294
@marshallkoo5294 51 минут бұрын
Can you explain the MassTransit
@CodeMaze
@CodeMaze 41 минут бұрын
Here you are: kzbin.info/www/bejne/mqqziZScpdR4oLM There are a lot more videos arranged in different playlists so maybe you can find something useful as well. Regards.
@tommylg9748
@tommylg9748 Күн бұрын
Love this channel ❤❤
@CodeMaze
@CodeMaze Күн бұрын
Thanks a lot. It is great to hear that.
@henryugochukwuagu2340
@henryugochukwuagu2340 Күн бұрын
please where is the link to the video where you added authentication?
@CodeMaze
@CodeMaze Күн бұрын
Hi. This video was recorded before the auth one, so I didn't link it in the description. But you can find both in the same playlist: kzbin.info/aero/PLkOmPTFOxKBrtoebJJIiPVuCFIWuTLBvr That said, I will add the link to that video in the description now.
@hashirrajput8734
@hashirrajput8734 Күн бұрын
Which method you prefer for verify email using identity? as you previously created a video on MailKit. I'm little bit confuse between both of them.
@Sayada
@Sayada 2 күн бұрын
I have read your book and I have a question? Do we need to register all the repository to the DI or just the RepositoryManager ?
@CodeMaze
@CodeMaze 2 күн бұрын
As you could've seen in the book if you have repository classes inside the repository manager, you only need to register the RepositoryManager class as it will initialize other repositories in a lazy manner (only when you need them). But there will be cases where you want to have some repository classes out of the manager class (in big applications all the situations may arise) and in that case, you will want to register that repository with the service collection in DI.
@10Totti
@10Totti 2 күн бұрын
Great video thanks!
@CodeMaze
@CodeMaze 2 күн бұрын
You're welcome! Thank you for watching this one.
@Sayada
@Sayada 2 күн бұрын
In onion architecture, which layer should we put the redis cache ?
@CodeMaze
@CodeMaze 2 күн бұрын
This really depends on where you want to apply caching. Is it your controllers or maybe the methods inside the service layer. Based on that decision, you can implement a redis cache service either inside the service layer or inside the Infrastructure/Persistence layer with the cahce service interface inside the Domain layer. Again, nothing is carved into stone here, and you have to adopt your solution to your needs.
@Sayada
@Sayada 2 күн бұрын
@@CodeMaze tks alot
@CleonLe
@CleonLe 3 күн бұрын
Waiting for the link
@CodeMaze
@CodeMaze 3 күн бұрын
What link are we talking about?
@CleonLe
@CleonLe 3 күн бұрын
3:48@@CodeMaze
@CodeMaze
@CodeMaze 3 күн бұрын
Yeah, I am so sorry. Forgot to add it. I will add it soon, but you can search my videos for "send emails with attachments" and you will find it for sure.
@CodeMaze
@CodeMaze 3 күн бұрын
The link is added now. Thank you for the suggestion.
@CleonLe
@CleonLe 3 күн бұрын
Thankyou 😍
@MarioDon17
@MarioDon17 3 күн бұрын
Great video! You have explain the concept very well and given me a better understanding of the VSA.
@CodeMaze
@CodeMaze 3 күн бұрын
Glad it was helpful! Thank you for watching this one.
@MarioDon17
@MarioDon17 3 күн бұрын
Is it possible for you to share the code as well? Didn't see any GitHub link
@CodeMaze
@CodeMaze 3 күн бұрын
The source code is part of the patreon membership. With it you get an additional discounts on my courses as well. You can find the link in the description section of the video.
@X3noic
@X3noic 3 күн бұрын
great video
@CodeMaze
@CodeMaze 3 күн бұрын
Glad you enjoyed it
@FabianoNalin
@FabianoNalin 3 күн бұрын
Thanks a lot.
@CodeMaze
@CodeMaze 3 күн бұрын
Most welcome! Thanks for watching this one.
@CodeMaze
@CodeMaze 3 күн бұрын
Thank you all for watching and for your support. ►► If you want to master Web API development using best practices, check out our Web API book: bit.ly/3x75ZMM ►► Also, to build great full-stack apps with Blazor, check out our course: bit.ly/3Pw3Y33
@MojtabaShojajou
@MojtabaShojajou 3 күн бұрын
Thanks for your explanation. What would happen if the cached token is invalid? What is fallback?
@CodeMaze
@CodeMaze 3 күн бұрын
You are very welcome. That depends on a developer whether they want to handle it on a server or a client side. In my case, I would usually on the client side check if the token is valid before attaching it to the HttpClient. I would use some sort of client app's interceptors and if it is invalid, I would send a request to refresh a token and then attach it to the HttpClient. In my Blazor WASM course this is exactly what I do using the Interceptor class. But it can be done with the DelegatingHandler as well, as you saw in the video.
@mehmetozturk5483
@mehmetozturk5483 3 күн бұрын
sir how can send excel file by hangfire please make a video for this topic.
@CodeMaze
@CodeMaze 3 күн бұрын
Well, you should create a normal C# logic to work with that file and then use Hangfire to trigger that job when you need it.
@jerickgeronimo282
@jerickgeronimo282 7 күн бұрын
can I have the code so I can test it? specially the file inside the Dto and Data folders? thank you
@CodeMaze
@CodeMaze 7 күн бұрын
Hi. The source code is available for the patreon members. Also, the dto is a simple class with a few properties and the DtContext is a simple db context class. Nothing too special there related to RabbitMq.
@secretazurestar7402
@secretazurestar7402 8 күн бұрын
Excellent Presentation to focus on concept with simple implementation
@CodeMaze
@CodeMaze 8 күн бұрын
Thanks a lot. Glad you like it.
@flave11
@flave11 8 күн бұрын
I love your tutroals, Simple and direct.
@CodeMaze
@CodeMaze 8 күн бұрын
Thank you, glad you like them.
@miaucabogdansorin2702
@miaucabogdansorin2702 9 күн бұрын
Hi, it would be nice to show with draws what is happening and how it works on each step
@CodeMaze
@CodeMaze 9 күн бұрын
Well, I would need a lot of diagrams for that :) I thought having the step by step code implementation would be enough to understand the process.
@kristiadhy
@kristiadhy 10 күн бұрын
I've tried this, but I got an error on the verification. I've checked and checked again between the token generated and the token when confirmed, and they're identical. I'm still not sure what's going on.
@kristiadhy
@kristiadhy 10 күн бұрын
I've finally figured it out! The issue was that I mapped the DTO to the model first and then executed the CreateAsync method. Then, before I sent the email confirmation, I did the mapping again, which caused the user model that created the token was different.
@CodeMaze
@CodeMaze 9 күн бұрын
I am glad you resolved the issue. You can always use the source code, if you are patreon member. It can help greatly.
@dushanbaranige3799
@dushanbaranige3799 10 күн бұрын
Keep move another content like hangfire schedule, watchdog, mail/message feature and many more related with microservices.
@CodeMaze
@CodeMaze 10 күн бұрын
Hi. Thanks for watching the video and your suggestion. I already have a video on Hangfire, and I will see about the other suggestions. They sound great.
@CodeMaze
@CodeMaze 10 күн бұрын
Thank you all for watching and for your support. ►► If you want to master Web API development using best practices, check out our Web API book: bit.ly/3x75ZMM ►► Also, to build great full-stack apps with Blazor, check out our course: bit.ly/3Pw3Y33
@ChosenThings
@ChosenThings 11 күн бұрын
Is the repository design pattern necessary with the use of the Entity Framework?
@CodeMaze
@CodeMaze 11 күн бұрын
No. To be honest, nothing is necessary, and you can organize your solution the way you want it. Just, I am great supporter of having the repository layer for the part of the application that communicates with the DB. And yes, I know that famous sentence: "EF Core has its own abstraction", but for me again, it is not a valid reason to use it inside the service layer or God forbed inside the controller. But of course, this is the part of some other conversation.
@lachlanwilson6389
@lachlanwilson6389 11 күн бұрын
Works beautifully, thanks Marinko!
@CodeMaze
@CodeMaze 11 күн бұрын
You are very welcome. Thank you too for watchng the video and sharing your comment.
@omarmokhtar3353
@omarmokhtar3353 12 күн бұрын
Thanks for the video I think it is better to store the commands in stack
@CodeMaze
@CodeMaze 12 күн бұрын
Hi, thank you for watching it. Well, whatever fits your needs better. If it fits the implementation, I see no reason not to use it.
@JulianRiverplate14
@JulianRiverplate14 12 күн бұрын
amazing video men was the only one which helped me to set up everything approperly
@CodeMaze
@CodeMaze 12 күн бұрын
I am glad to hear that. Thank you for watching the video. There is also one regarding authentication with Ocelot if you want to give it a try. Feedback is always appreciated.
@hueseyinguendogan8541
@hueseyinguendogan8541 15 күн бұрын
Thanks man nice video playlist you have there!! But I have a question though about MediatR: Is ist a good/bad practice to use a command/query inside another command/query?
@CodeMaze
@CodeMaze 15 күн бұрын
Hi. Thank you for watching the video. I hope the whole list will be helpful. Regarding your question, when you say command/query inside another command/query, I belive you mean in a handler. For me, it is the same as when you call another service from your current service. So, I can't say whether it is good or bad practice, but you will probably have to do it sometimes.
@hueseyinguendogan8541
@hueseyinguendogan8541 15 күн бұрын
@@CodeMaze Thank you for the response ✌️Yes I meant that👍
@tommylg9748
@tommylg9748 16 күн бұрын
Love this
@CodeMaze
@CodeMaze 15 күн бұрын
Thanks for watching the video. I'm glad you liked it.
@ventoshe
@ventoshe 16 күн бұрын
Very well explained, thanks! I've been using Hangfire for a few years now. It is reliable and very simple to use.
@CodeMaze
@CodeMaze 16 күн бұрын
Great to hear that! Yeah, it is a great library and easy to use.
@10Totti
@10Totti 17 күн бұрын
Great video but: 1) What if I want to start a task without using APIs? 2) Is it possible to programmatically clean up older jobs? 3) Is there a way to prevent jobs from overlapping if they haven't finished yet? Thanks.
@CodeMaze
@CodeMaze 16 күн бұрын
Hi Totti. 1) You are not tied only to ASP.NET Core apps. If you check their documentation, you will see they are using a regular, I would say, console app example. 2) Yes. Of course, if you think about recurring jobs. Again, I just looked at their documentation and there is an example here, it is pretty simple. 3) I believe you think if the job is scheduled for example every 5 minutes but for some reason, it takes more than 5 min to finish. Maybe there is a way, but I am not sure. Again, I think the best way would be to check their documentation about this. I looked for a bit but didn't find anything about it.
@CodeMaze
@CodeMaze 17 күн бұрын
Thank you all for watching and for your support. ►► If you want to master Web API development using best practices, check out our Web API book: bit.ly/3x75ZMM ►► Also, to build great full-stack apps with Blazor, check out our course: bit.ly/3Pw3Y33
@KeondraLeke-x7p
@KeondraLeke-x7p 18 күн бұрын
This video was a life saver thank you!!!
@CodeMaze
@CodeMaze 18 күн бұрын
You are very welcome. Glad to hear that.
@Sayada
@Sayada 19 күн бұрын
What is the difference between clean and onion because the way they split the layer is really the same, the only difference is that one layer is called Application, one is Service ?
@CodeMaze
@CodeMaze 18 күн бұрын
Hi. I think this one will explain the differences better: code-maze.com/dotnet-differences-between-onion-architecture-and-clean-architecture/
@michaelderobio5256
@michaelderobio5256 19 күн бұрын
This pattern makes me hate programming for some reason. I guess I had a bad initial experience with it.
@CodeMaze
@CodeMaze 19 күн бұрын
I would really like to hear why. I completely understand, we all had some sort of similar experience with different patterns, but for me, this one is pretty straight forward and maybe easiest to implement, so it is a bit strange to hear something like that.
@selimbamri8234
@selimbamri8234 19 күн бұрын
Hello, first of all thank you for this quality tutorial. everything works fine for me but I just have one question. Once the user is authenticated how do I do to retrieve the informations of the authenticated user?
@CodeMaze
@CodeMaze 19 күн бұрын
Hi. You are very welcome, and thank you for watching the video. You can always add new claims inside JWT and extract those values inside the client app. Or, you can simply return the needed information as part of the response DTO with the Token itself. Just be careful which data you share between the server and the client apps.
@Mo-ef9yt
@Mo-ef9yt 20 күн бұрын
Great video. When to use background service vs hosted service vs background task. If i want to perform some (not important) time consuming calculations after performing a save or update to the database which one of the former would be preferred
@CodeMaze
@CodeMaze 20 күн бұрын
Hi, thank you. From one of the online articles: IHostedService conveniently handles short-running tasks using the StartAsync and StopAsync methods. It functions well for tasks like listening to queue messages and invalidating or clearing caches. BackgroundService, on the other hand, runs long-running IHostedService tasks with a single method - ExecuteAsync. So, I think this pretty much explains the difference, but if you want to dive even dipper into the topic, there are a few articles/videos that can help you investigate even further.
@AslamNazeerShaikh
@AslamNazeerShaikh 23 күн бұрын
Hey Really Great & Unique Content. Can you do one for Linux Background Service With .NET & Ubuntu or Fedora, please.
@CodeMaze
@CodeMaze 22 күн бұрын
Thank you. It will be in my plans for sure.
@yuriy_german
@yuriy_german 23 күн бұрын
any source code, please?
@CodeMaze
@CodeMaze 23 күн бұрын
Hi. The source code is part of the patreon support package with some additional benefits for our products (best price).
@yuriy_german
@yuriy_german 23 күн бұрын
Хорошое объяснение, ждем новых видео в серии.
@CodeMaze
@CodeMaze 23 күн бұрын
Hi. I am sorry, but I will have to reply on English as I had to use translator tool to understand your message. Anyway, there are a few more videos from this searies if you didn't watch them - they are all in the same playlist. I will do my best to record a few more design patterns videos because I think those are pretty useful for developers.
@tusharikatejaswi5117
@tusharikatejaswi5117 24 күн бұрын
This is helpful! Thankyou!
@CodeMaze
@CodeMaze 23 күн бұрын
You're so welcome! Thank you for watching the video.
@parko1965
@parko1965 24 күн бұрын
Hi Marinko, excellent tutorial, one question though - what is the benefit of adding options to the AddWindowsService extension method in the program class. I was assuming that there would be some sort of auto configuration when running sc.exe but you still used the same name when creating the service in windows.
@CodeMaze
@CodeMaze 23 күн бұрын
Hi. Well, that's the real service name that Event Viewer sees. For example, you can use the sc.exe command to create this service (from the video) but using a different name in the command window. That new name will be displayed as a service name in the Service Manager window. But, once you start or stop that service, you will see the name from the configuration in the Event Viewer because that's the real service name. That's why it is the best to create the service with sc.exe command using the same name you configured in the service configuration.
@GabyLangis
@GabyLangis 24 күн бұрын
awesome video!! is there a way to add time to the email token ? in my testing i forgot 2 times to confirm the email and when on doing something else when i came back to confirm the email 1 hour later the token was expired this is why i was wondering...
@CodeMaze
@CodeMaze 24 күн бұрын
Hi. Yes there is a way. Please check the: "Modifying Lifespan of the Email Token" section of my article: code-maze.com/email-confirmation-aspnet-core-identity/
@GabyLangis
@GabyLangis 22 күн бұрын
@@CodeMaze Thanks man you are the best!! x)
@robertmrobo8954
@robertmrobo8954 24 күн бұрын
During Authenticate, why do you use UserManager.CheckPasswordAsync instead of SignInManager.PasswordSignInAsync?
@FearGod123
@FearGod123 24 күн бұрын
Thank you very much for teaching Windows Service Applications in .NET. Very helpful!
@CodeMaze
@CodeMaze 24 күн бұрын
You are welcome! Glad you like it.
@markvanlierop7261
@markvanlierop7261 24 күн бұрын
Typo in your title; Origings = Origins
@CodeMaze
@CodeMaze 24 күн бұрын
Thanks a lot.
@10Totti
@10Totti 25 күн бұрын
Great tutorial!
@CodeMaze
@CodeMaze 24 күн бұрын
Thanks a lot. Glad you like it.
@فارسجمال-ح6ك
@فارسجمال-ح6ك 25 күн бұрын
Thanks ❤❤❤
@CodeMaze
@CodeMaze 24 күн бұрын
You are very welcome.
@CodeMaze
@CodeMaze 25 күн бұрын
Thank you all for watching and for your support. ►► If you want to master Web API development using best practices, check out our Web API book: bit.ly/3x75ZMM ►► Also, to build great full-stack apps with Blazor, check out our course: bit.ly/3Pw3Y33
@SherazAhmed-q8f
@SherazAhmed-q8f 25 күн бұрын
simply Outstanding. But I want you to shows us the multiple ways to create a multilingual applications
@CodeMaze
@CodeMaze 25 күн бұрын
Thank you. This is a good suggestion and I will do my best to create such a video.
@prmep476
@prmep476 29 күн бұрын
What you have in your custom class Message ?
@CodeMaze
@CodeMaze 29 күн бұрын
It is the part of the Email Service project. Just properties like (To, Subject, Content...) and some other stuff. Nothing too related to the confirm/verify implementation.
@salihe1232
@salihe1232 29 күн бұрын
why are we encyrpting refresh token with RandomNumberGenerator Class can't we make that JWT too
@CodeMaze
@CodeMaze 29 күн бұрын
Hi. No, I am not encrypting a refresh token. I am using that mentioned class to generate one. Refresh token isn't the same as the access token, so you don't need another JWT. You don't need claims and other stuff JWT has inside.
@salihe1232
@salihe1232 29 күн бұрын
@@CodeMaze So i want to publish a api and every api developer is doing like this way.So you say it is secure to publish it like that we don't need to encrypt the refresh token
@CodeMaze
@CodeMaze 29 күн бұрын
You can do it this way. If you have a client app that consumes your API and stores the tokens in local or session storage, you can encrypt the access token inside the client app first, and then store it in the storage. Of course, everytime you send that token with a request, you need to decript it first.
@salihe1232
@salihe1232 29 күн бұрын
@@CodeMaze Thank you !!😇