Тёмный
No video :(

In/Out Middleware Explained (C# ASP.NET Core & JS Examples) 

Raw Coding
Подписаться 72 тыс.
Просмотров 74 тыс.
50% 1

In this middleware tutorial I answer questions like: what is middleware? how does middleware work? how to implement middleware? We implement our own middleware pipeline in C# & Javascript, and also take a look at how middleware works in asp.net core & the HttpClient as well as looking at the Interceptors in axios and angular. Remember it's just a function wrapped in another function, being able to write a neat implementation is just a scalability problem.
Patreon 🤝 / raw_coding
Courses 📚 learning.raw-c...
Shop 🛒 shop.raw-codin...
Discord 💬 / discord
Twitter 📣 / anton_t0shik
Twitch 🎥 / raw_coding
👉 Try Rider
www.jetbrains....
RD5K9-4TXXW-KMV3G-NYWSF-3ZSTP
LinqPad: www.linqpad.net
Source: github.com/T0s...
#csharp

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

 

21 авг 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 174   
@hadibazmi6340
@hadibazmi6340 4 года назад
i always looking for in depth tutorials with good presentation, unfortunately there are not many channels capable of producing them, but you my friend are from the gifted few! it feels like getting free lessons from jesus (un-related to your beared :D ) keep up the good work, god bless you
@RawCoding
@RawCoding 4 года назад
Hahaha thank you man :) glad you like these :)
@hydtechietalks3607
@hydtechietalks3607 4 года назад
@@RawCoding Thank you Jesus.. You are the Savior! Namaste from Hyderabad, India!
@rajkiran10
@rajkiran10 2 года назад
Anton,Thank you for the content you create, I have gone thru lot of channels and end up with the default content available everywhere, but you sir have taken explaining things to another level. Now this is what it means to share knowledge. 🙏🏼🙏🏼🙏🏼
@RawCoding
@RawCoding 2 года назад
Thank you Rajkiran
@pjeet4411
@pjeet4411 Год назад
I am going through all the videos from your playlist every morning before starting my work. Making it a habit to watch atleast one video everyday and learn something new
@RawCoding
@RawCoding Год назад
Glad you’re enjoying these!
@pjeet4411
@pjeet4411 Год назад
@@RawCoding Can you also make a playlist for Azure 204?
@RawCoding
@RawCoding Год назад
No
@maxlin2905
@maxlin2905 2 года назад
I pray to Jesus every day and now I am learning coding with coding Jesus, I know I'm blessed. Thank you, Aton,will watch all your videos and code with you!
@jasonazevedo1983
@jasonazevedo1983 3 года назад
One of the best programming vids I've seen in a while :)
@RawCoding
@RawCoding 3 года назад
Cheers
@taraspelenio8259
@taraspelenio8259 4 года назад
Yesterday I wanted to start the discovering of the specific Middleware concept in details, and it's amazing that you provided the video immediately for the subject. Thanks a lot!
@RawCoding
@RawCoding 4 года назад
Just in time! Thank you for watching)
@paulmertens5522
@paulmertens5522 Год назад
Incredibly useful to see the own implementation and then the variety of ways it can be added to VS solution in practice.
@RawCoding
@RawCoding Год назад
Glad you liked it, don't forget to like and sub
@oz5277
@oz5277 Год назад
@@RawCoding Anton where are you from? Do you have any social media like twitter acc?
@RawCoding
@RawCoding Год назад
@@oz5277 I'm from Latvia buddy, and all my video descriptions are full of links to my social media )
@oz5277
@oz5277 Год назад
@@RawCoding Sorry, my bad. Thanks!
@lukedjuuuu
@lukedjuuuu Год назад
hands down the best video on middlewares
@RawCoding
@RawCoding Год назад
Thank you )
@lllGSMlll
@lllGSMlll 3 года назад
I believe it was a little bit confusing to say "we use type called Action, and nobody uses delegates anymore", while what was called "type Action" is just a delegate (which is an actual type) provided from .net libraries in advance
@RawCoding
@RawCoding 3 года назад
Thank you for pointing out
@IvanRossouw
@IvanRossouw 3 года назад
You are awesome, thank you for everything you have thought me so far. You really are talented. You set a whole new standard
@RawCoding
@RawCoding 3 года назад
Cheers :) glad you enjoyed the content
@nandyad
@nandyad Год назад
I thank youtube for suggesting this video. For me this was not just a refresher to middleware. Mind blown 🙌
@evanhl4878
@evanhl4878 3 года назад
I'm a bit late to the game, but I just want to say that your videos are amazing. Thanks a ton for creating them! The explanations are always in-depth but clear and concise.
@RawCoding
@RawCoding 3 года назад
Never too late, these concepts aren’t going anywhere
@achilleskocaeli
@achilleskocaeli 4 года назад
Thanks Gilfoyle 😊 ..Thanks for broadining my horizon 👍
@RawCoding
@RawCoding 4 года назад
Gilfoyle? :D
@mr.d8705
@mr.d8705 4 года назад
@@RawCoding From the tv show Sillicon Valley. I thought I recognized you from somewhere. Great stuff man! This channel should boil Dinesh's brain for a while. :D
@RawCoding
@RawCoding 4 года назад
Ah alright)
@stevenlestertan245
@stevenlestertan245 4 года назад
Loved the way how you explain something about programming principles! More knowledge, greater yourself will be. Thank you so much!
@RawCoding
@RawCoding 4 года назад
Thank you)
@stevenlestertan245
@stevenlestertan245 4 года назад
@@RawCoding one last thing, dude. I would like to request to explain further the middle-out compression made by Richard Hendricks of Silicon Valley from the beggining he developed it up to the optimization he made on the day before their final appearance (last episode of season 1, I think). I'll be more grateful if you grant my request!!! :)
@RawCoding
@RawCoding 4 года назад
What?
@SuperVarunraju
@SuperVarunraju 4 года назад
Amazing !!! Can you please do a tutorial on Events,reflection,Modern design patterns etc..
@RawCoding
@RawCoding 4 года назад
I don’t use events, I can teach some design patterns.
@mohankumarsantha1770
@mohankumarsantha1770 3 года назад
Great stuff. brilliant examples. great 👏👏. keep going..
@RawCoding
@RawCoding 3 года назад
Thanks :)
@hydtechietalks3607
@hydtechietalks3607 4 года назад
You have been sharing wonderful knowledge, Thank you somuch! I would like to listen about Generics- Contra, Covariance.. and how can we visualize a business scenario to implement Contra, Covariance.. thanks!
@RawCoding
@RawCoding 4 года назад
Cheers, will take a look at this topic at some point
@husokanus
@husokanus Год назад
Great content. Loved it. Learnt bunch of new concepts. I will watch more and more of your videos. Thanks again sir 🙏🏼🙏🏼🙏🏼
@user-ff5qh7ol7c
@user-ff5qh7ol7c 4 года назад
Thank you for your great videos! I'll watch asap:)
@RawCoding
@RawCoding 4 года назад
Cheers)
@andrewahlstrom8359
@andrewahlstrom8359 Год назад
@RawCoding Your content is fantastic! Thank you for your exceptionally easy to understand videos. I know from experience that making advanced concepts as digestible as you do is remarkably difficult and time consuming. So I wanted to say thank you.
@RawCoding
@RawCoding Год назад
Thank you for your comment! Really appreciate it
@sidmendax
@sidmendax 4 года назад
Very good videos and explanations of some of the most complex topics. Most of the videos address the What, why, how aspects of the topics. A rare feet to achieve !! kudos... Please also provide some videos on internal implementation of threads and processors in the context of multi threading.
@RawCoding
@RawCoding 4 года назад
Cheers, yeah the thread implementation is beyond me this is something managed by each individual operating system from what I know.
@sidmendax
@sidmendax 4 года назад
@@RawCoding In context of windows and .net ;)
@RawCoding
@RawCoding 4 года назад
I’ll do it if I have time, I’ve never needed to know the implementation to use them :)
@kevinrosario9282
@kevinrosario9282 3 года назад
this is liquid gold
@RawCoding
@RawCoding 3 года назад
Cheers
@abhijithsugunan6768
@abhijithsugunan6768 3 года назад
Awesome, much helpful. Thanks for the video :)
@RawCoding
@RawCoding 3 года назад
Thank you for watching!
@kiranayyanki6691
@kiranayyanki6691 4 года назад
I like your videos, they are different. Sometimes, I feel like you are going faster than I can track .I will have to slow you down at 0.75 and you sound like you are under the influence :)
@RawCoding
@RawCoding 4 года назад
Haha high on life!
@farisarx5552
@farisarx5552 3 года назад
You are such a great educator thank you hope you create an asp.core fundamentals for beginners and thank you
@RawCoding
@RawCoding 3 года назад
I’ll take a look at that :)
@MykhailoNohas
@MykhailoNohas Год назад
Really good explanation. Thank you!
@davitm7281
@davitm7281 3 года назад
These is Gold. My advice is to try and code yourself what author is planning to do and than listen how he will do it. You will understand X10 better. Passive ;listening did not worked for me.
@RawCoding
@RawCoding 3 года назад
Spot on!
@r0man0v-r0man
@r0man0v-r0man 4 года назад
as always - good to understend! thx!
@RawCoding
@RawCoding 4 года назад
Thanks for watching :)
@wzyandi
@wzyandi 2 года назад
explain clearly,thanks for your work
@ajaygrey
@ajaygrey Год назад
Very well explained, thank you
@InshuMussu
@InshuMussu Год назад
Who are you man?, you are just amazing...
@stephenyork7318
@stephenyork7318 4 года назад
If you go to definition of Action and all it’s overloads they are just delegates behind the scenes. Delegates never actually went away
@RawCoding
@RawCoding 4 года назад
There’s no problem that can’t be solved with a bit of indirection amaright
@afouadr
@afouadr 4 года назад
Looks like a twisted 'Chain of Responsibilty' design pattern implementation.
@RawCoding
@RawCoding 4 года назад
I gues you can say that :)
@lepoulpe303
@lepoulpe303 4 месяца назад
This is very interesting ! Side question : which font do you use to have the lambda displayed as a nice arrow and not => ?
@dkorobov
@dkorobov 2 года назад
thanks for this video. i found that educational. one thing i'm not exactly following is this. at the end var pipe kinda hides what the pipe type is. build method returns a single action looks like. when we build we seemingly return a collection of actions not just one. what is pipe if its its a collection of actions of type Action? how are they all nested inside a single Action?
@RawCoding
@RawCoding 2 года назад
if you can put an object inside another object, you can put a function inside another function. You can keep putting things inside other things and on the surface it will still look like 1 thing
@adamali89
@adamali89 3 года назад
what you are explaining in this video it seems to me a decorator pattern.. anyway great video so far on RU-vid related to .NET middleware
@RawCoding
@RawCoding 3 года назад
How the internals of the middleware look like. Decorator or function composition, whichever you prefer.
@adamali89
@adamali89 3 года назад
@@RawCoding one more thing i need to ask as you explain decorator or function composition can we relate this to MediatR pipeline or MediaR using different strategy ?
@RawCoding
@RawCoding 3 года назад
Mediatr pipeline has same strategy
@ghanshyam014
@ghanshyam014 Год назад
Well explained..
@olaitanadesoji3719
@olaitanadesoji3719 4 месяца назад
This is beautifully explained. I am a salesforce developer and I have always been thinking of building a library/ framework for handling Inbound Http requests in a fashion similar to how dotnet does it. However Apex doesnt support full scoped reflection (even though we can instantiate dynamically) , functional programming, lambdas and even generics (although this is in the works). Is there a purely object oriented way of achieving this type of middleware configuration ? Something tells me its possible but I wanna know what you or any other expert thinks. THanks in advance
@Morteza7220
@Morteza7220 7 месяцев назад
thanks , excellent
@hklbly
@hklbly 2 года назад
Thanks a lot. Great content.
@aloksaxena7905
@aloksaxena7905 4 года назад
There is no Dump method in .NET; I would suggest to either use online c# compiler or mentioned the DUMP is exist only in LinqPad .
@RawCoding
@RawCoding 4 года назад
yeah Dump is LinqPad ONLY
@loam
@loam 4 года назад
Dude, really cool stuff!
@RawCoding
@RawCoding 4 года назад
Thank you)
@honguyen934
@honguyen934 3 года назад
Seccond function has two c's because it's second, rright?
@RawCoding
@RawCoding 3 года назад
I guess can’t remember)
@romangannete6024
@romangannete6024 2 года назад
Probably a silly question, but what is the difference between the Middleware and Decorator Patterns?
@RawCoding
@RawCoding 2 года назад
Middleware is more of a chain of responsibility, decorator is about giving an object an ability to do something, where’s here we are defining a process for handling something
@aamirali8114
@aamirali8114 11 месяцев назад
For such raw or depth coding from which book did you learn
@mileswilliams527
@mileswilliams527 10 месяцев назад
Now I get it. The C in C# is for Carpentry. Seeing Jesus coding in C# makes it clear.
@baole2691
@baole2691 3 года назад
best respect for you ... from Viet Nam ^^
@RawCoding
@RawCoding 3 года назад
Thank you)
@tracetv8115
@tracetv8115 4 года назад
Awesome video! The are plenty of low level programming videos, but u provide us with deep concepts. Do u offer mentoring? Cheers from Germany ;)
@RawCoding
@RawCoding 4 года назад
Cheers, I do on patreon however I think all slots are taken ))
@manolov4074
@manolov4074 3 года назад
Why do we use Action instead of the delegate ? Isn't Action underneath a simple void delegate ? Is it faster or just smarter and quicker because of the syntactic sugar ?
@RawCoding
@RawCoding 3 года назад
Action is a delegate underneath, we use action because it’s a prebuilt thing that in the end of writing out 1000’s of delegates we would arrive at Func and Action our selfs, it’s a nice abstraction, kind of like the DbContext for repository pattern in efcore
@manolov4074
@manolov4074 3 года назад
@@RawCoding Thank you for the answer. Great channel. I hope you are doing well around this scenario and keep grinding :) Cheers Raw!
@RawCoding
@RawCoding 3 года назад
Cheers ) all is well
@jamesherrero7334
@jamesherrero7334 4 года назад
Can you please do a tutorial with clean architecture and some DDD patterns :)
@RawCoding
@RawCoding 4 года назад
Maybe:)
@tisurmaster
@tisurmaster 4 года назад
Do you have a c# course? If not, please consider doing a c#8 tutorial.
@RawCoding
@RawCoding 4 года назад
I am working on a c# course :) I've not got too much time to make it thought so It's coming along slowly
@VinuP2023
@VinuP2023 3 года назад
Anton, what's progress of your C# course? We are waiting for your amazing course on C#🙏
@RawCoding
@RawCoding 3 года назад
It’s not done
@VinuP2023
@VinuP2023 3 года назад
Thank you for the quick reply. Hope it gets live sometime soon 👍🙏
@RawCoding
@RawCoding 3 года назад
Yeah it’s not going to be soon :D working hard on it though
@VinuP2023
@VinuP2023 3 года назад
@@RawCoding ok no problem 😊
@andreymtrx8368
@andreymtrx8368 3 года назад
Спасибо! Очень доступно объясняешь)
@RawCoding
@RawCoding 3 года назад
Спасибо за просмотр)
@__alexfox__
@__alexfox__ 4 года назад
Hello! This behavior can be achieved by a chain of static methods. Try (). Wrap () .... First () Or I do not understand why the concept of pipes is needed?
@RawCoding
@RawCoding 4 года назад
It’s try > wrap > first > wrap > try ; rather than chaining
@__alexfox__
@__alexfox__ 4 года назад
@@RawCoding Got it! Thank! Very handy thing!
@israelochoab3113
@israelochoab3113 4 года назад
Awesome I like linqpad 👍😎
@RawCoding
@RawCoding 4 года назад
Me too)
@okcharles7
@okcharles7 3 года назад
Thanks for this great Tutorial, again. This is quite difficult to understand at first because there are no variables to hold those Pipe instances constructed at the each call of CreatePipe() method. As for me, it looks like losing instance reference so very weird and hardly understandable. :( Actually, to store those instance references, I tried changing List to List but it wouldn't allow chaining Handles in order of calls of AddPipe() methods. Is there any terminology referring to the way you used to grab the method reference of instance (but fly away the instance reference)?
@RawCoding
@RawCoding 3 года назад
Method reference is a function pointer
@okcharles7
@okcharles7 3 года назад
@@RawCoding Well. It seems like hooking a fish on its side not its mouth. ^^
@dnkreative
@dnkreative 3 года назад
This could be done in more easy and less code way public class Pipeline { public void Use(Func middleware) { _actions.Add(middleware); } public void Run(Func middleware) { _actions.Add((context, next) => { return middleware(context); }); } public void Handle(Context context) { var it = _actions.GetEnumerator(); Handle(it, context).Wait(); } private Task Handle(List.Enumerator enumerator, Context context) { if (enumerator.MoveNext()) { return enumerator.Current(context, () => Handle(enumerator, context)); } return Task.CompletedTask; } private List _actions = new List(); }
@RawCoding
@RawCoding 3 года назад
Thank you for sharing
@dnkreative
@dnkreative 3 года назад
@@RawCoding No problem, it just happened that I recentley tried to work out how to build such a middleware pipline for processing anything in a middleware chain fashion. The challenge was how to convert list of middleware callbacks into nested functions call. Recursion was the answer and I drafted the presented solution. It could be further extended to cover class middleware and other different use cases.
@mohammadalimemari2720
@mohammadalimemari2720 4 года назад
really appreciate your content, fantastic work. Do you have a plan to do video on asp.net model binding??
@RawCoding
@RawCoding 4 года назад
Mmmm can do
@mohammadalimemari2720
@mohammadalimemari2720 4 года назад
@@RawCoding thanks
@clearlyunwell
@clearlyunwell 3 года назад
👍🏽
@RawCoding
@RawCoding 3 года назад
)
@wpbest
@wpbest 4 года назад
How can you return void? That doesn’t make sense. Void means no return value.
@RawCoding
@RawCoding 4 года назад
Where does that happen?
@cyjbox
@cyjbox 4 года назад
public PipeBuilder AddPipe(Type pipeType){ if (!pipeType.GetTypeInfo().IsSubclassOf(typeof(Pipe))) { throw new Exception(); } _pipeTypes.Add(pipeType); return this; }
@RawCoding
@RawCoding 4 года назад
Ahha! Thank you ))
@ghanshyam014
@ghanshyam014 Год назад
I subscribed 😀
@shblade5984
@shblade5984 Год назад
Who would've thought I'd be learning C# from Jesus himself.
@siddhantthakur9114
@siddhantthakur9114 4 года назад
I want to code along with, which editor you are using?
@RawCoding
@RawCoding 4 года назад
LinqPad but you can use VisualStudio or Ride or VS Code
@LuigiZambetti
@LuigiZambetti 4 года назад
Why don't you create a playlist on ASP.NET MVC (every version should be fine, 5 or Core)?
@RawCoding
@RawCoding 4 года назад
I don't use ASP.NET MVC, it'll only be .Net Core & .Net 5 moving forward
@shahzeb359
@shahzeb359 4 года назад
Good video.. Can you make a video on Covariance and Contravariance in C#
@RawCoding
@RawCoding 4 года назад
Cheers, and I’ve never heated of that before so no :D
@nocaoconstantino3555
@nocaoconstantino3555 4 года назад
How do u learn those concepts? is in some books????
@RawCoding
@RawCoding 4 года назад
Google, a lot and then practice
@nocaoconstantino3555
@nocaoconstantino3555 4 года назад
@@RawCoding cool man. Keep doing videos about #AdvancedCoding. i need your help with videos like this. Thanks a lot
@RawCoding
@RawCoding 4 года назад
Cheers ))
@anatoliytkachenko7081
@anatoliytkachenko7081 Год назад
Thanks a lot for tutorial! There is no more Jesus style ((
@RAHULROY-sb9nt
@RAHULROY-sb9nt Год назад
Actually havn't any doubt about your skill..but things got little bit hard for us ..pls try to break into some portion and explain with some appropriate example
@nullentrophy
@nullentrophy 3 года назад
I beg your pardon. But my guess, you're tryna say "crunch" amaright?
@RawCoding
@RawCoding 3 года назад
Where?
@nullentrophy
@nullentrophy 3 года назад
@@RawCoding 10:27
@RawCoding
@RawCoding 3 года назад
Crutch - when you brake your leg you gotta use it to help you walk.
@nullentrophy
@nullentrophy 3 года назад
@@RawCoding Thanks for sparing time and for great content.
@RawCoding
@RawCoding 3 года назад
Thank you for watching )
@spacerecluse
@spacerecluse 3 года назад
очишуительно.
@RawCoding
@RawCoding 3 года назад
a to ))
@aligomboz
@aligomboz 4 года назад
Can you translate in arbik
@RawCoding
@RawCoding 4 года назад
No
@aligomboz
@aligomboz 4 года назад
@@RawCoding that's bad don't wery thank you
@ripper9112
@ripper9112 4 года назад
Is this suppose to be for developers or people who wants to be developers? I was able to follow for like 1/3 of the video, half way throught is only mumbo jumbo left in my head, function in functions in pipelines in pipelines with list of pipetypes and activators. You are going way to fast by the way. For this kind of topic some visual presentation is a must IMO. Video is probably good and im just a moron, i dont know. Are you people understnd whole video perfectly? Maybe i should drop programming, im trying to go all the way with this, but it seems to be perfectly understandable for everyone so i dont see how im suppose to compete for job when im not able to follow and understand this .
@RawCoding
@RawCoding 4 года назад
Hi there don’t be discouraged, this is not a beginner topic so I guess it’s for developers who are trying to deepen their knowledge, this is for those who have been or are about to use middleware but never really understood how it worked.
@ripper9112
@ripper9112 4 года назад
@@RawCoding Thanks but the problem is im not such a beginner, ive used middleware before couple times and i begin to learn like year ago. First i learned C# then html, css,ASP, bootstrap, unit testing, SQL, now im going back to finish my application and wanted to refresh some most important topics, and i dont even clearly remeber how delegates work. Amount of knowledge for becoming .NET dev is so massive, if i had 2 brains it wouldnt be enough, and i probably would have to watch this video 7 times to get all of this on some decent level. Sorry for bitching , i probably need another year to be decent candidate and it makes me depressed, i thought it will be enough to just put enough time but thats not true, brain capability and memory are most important things, math is imortant too becouse theres algorithm tasks on interviews and im beyond terrible at math adn dont even grasp that yet. Now im pissed becouse i came to conclusion this its not for me but im too far gone to just drop it, i will not but the end of story will be that after series of job rejections i will loose all confidence and wont even be able to step through the door for another one.
@RawCoding
@RawCoding 4 года назад
Ey man just notice that your head is in a negative space and you are putting your self down for no reason. Instead of focusing on how bad you are at something try to understand it and take it slow. A function represent some kind of work we want to do an action or a ‘doing’ A delegate is just a way to represent a function signature (parameters and return type) under a name Middleware is the ability to put a ‘doing’ (or a function) inside another ‘doing’ You don’t need to know C# syntax to understand that you are just nesting/wrapping some actions/functions/doings inside each other. Imagine you were making tea and in the middle of that process you decided to make a sandwich, vuala middleware Don’t be too hard on yourself this stuff is hard, I recommend join the discord server, you can get further help there :)
@ripper9112
@ripper9112 4 года назад
@@RawCoding This is as much as i understood, but im lost any further, im watching second time now and its clearer now, if i wouldnt know what function is after a year you should assume mental illness and be suggesting to drop it for my own good:). Im not puting myself down actually, my mind is, i didnt decide to start producing bullshit thoughts in my head, just happens i have to listen to them, but unfortunetly they mostly right. Theres like 1% junior offers, u have to be full stack, no more backend frontrend, golden years are gone in my country, expectations are going higher and higher and now corona adding to the bullshit. I would not start from zero if i had the choice again , seems pretty ridicolous. I spoke to a friend today, after 80 hour of courses of dieting and workout hes ready to be personal trainer, meanwhile after 1000 hours of learning i have troube understanding a tutorial. I work hard on this sometimes all day long but i learn as slow as u can get, unfortunetely nobody give a shit how hard u worked.
@RawCoding
@RawCoding 3 года назад
I think it’s generally not being comfortable with functions as a thing and how to compose them which can cause a lot of confusion in understanding this topic.
@drygordspellweaver8761
@drygordspellweaver8761 3 месяца назад
eNtErPrIzE software: spend 20 hours to save 5 seconds of typing. Also make your code run 100x slower. Can't have customers with a good user experience, no sir.
@demonwithglasshand
@demonwithglasshand 3 года назад
It's like being taught by the Jesus
@RawCoding
@RawCoding 3 года назад
Be blessed 💦
Далее
How Dependency Injection Works in #csharp
43:52
Просмотров 53 тыс.
Compiling C# like Rust, Go and C++
0:40
Просмотров 129 тыс.
PEDRO PEDRO INSIDEOUT
00:10
Просмотров 2,4 млн
C# Async/Await/Task Explained (Deep Dive)
24:22
Просмотров 399 тыс.
This is the best way to learn C++ for free
0:40
Просмотров 410 тыс.
How to use Async/Await/Task in C#
29:45
Просмотров 74 тыс.
Coding Shorts: ASP.NET Core Middleware Explained
17:36
C# Channels Explained (System.Threading.Channels)
47:11
Semaphore Explained C#
12:24
Просмотров 40 тыс.
Don't throw exceptions in C#. Do this instead
18:13
Просмотров 256 тыс.