The Right Way To Use Feature Flags in .NET (targeting users explained)

  Рет қаралды 10,859

Milan Jovanović

Milan Jovanović

Күн бұрын

Пікірлер: 52
@MilanJovanovicTech
@MilanJovanovicTech 29 күн бұрын
Want to master Clean Architecture? Go here: bit.ly/3PupkOJ Want to unlock Modular Monoliths? Go here: bit.ly/3SXlzSt
@Neuraville
@Neuraville 22 күн бұрын
This tutorial is a must-watch for anyone wanting to master controlled rollouts and manage different API versions effectively
@MilanJovanovicTech
@MilanJovanovicTech 22 күн бұрын
Thanks a lot!
@orterves
@orterves Ай бұрын
Excellent overview, this approach looks well worth implementing. One extra step I advocate is, where possible and once v2 has had time to settle in production, to replace the v1 implementation with one that maps from the v2 response to the old v1 response. This allows the code to keep moving forward without the burden of multiple possibly diverging implementations.
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
That's a really solid idea! I'll see if I can mention that in some future post or video.
@antonmartyniuk
@antonmartyniuk 27 күн бұрын
Amazing video, have never seen someone covering such advanced feature management features. Note: despite having a feature gate, even if a Http request doesn't match the gate and Controller's method won't be executed - the Controller instance and all corresponding dependencies are created. I came into this issue in .NET 6
@MilanJovanovicTech
@MilanJovanovicTech 26 күн бұрын
The issue you're seeing is kinda expected with ASPNET. Another reason to keep controllers thin.
@antonmartyniuk
@antonmartyniuk 26 күн бұрын
@MilanJovanovicTech this was a really specific application I was building and I needed to ensure dependencies were not created when feature gate was forbidden. So I used Lazy for this case
@vamvdotnet
@vamvdotnet Ай бұрын
I loved this video. Congrats! Top-notch content inside :)
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
Glad you enjoyed it!
@macmcmillen6282
@macmcmillen6282 Ай бұрын
Excellent as always. Thanks for all you do, Milan!
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
It's my pleasure!
@Maran-s2r
@Maran-s2r Ай бұрын
Great Video Milan. I tried and extended with Azure App Configuration. Working perfectly. Thank you.
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
Glad to hear it's working well!
@rakeshkumarreddymudda
@rakeshkumarreddymudda Ай бұрын
Believe me you are amazing 👏. More than official dotnet channels I learned more on your channel. Thanks for keeping your vedios free to watch😊.
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
Glad to hear it! More to come :)
@antondoit
@antondoit Ай бұрын
Very nice as always
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
Thanks a lot
@10Totti
@10Totti Ай бұрын
Excellent video!
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
Thank you very much!
@FarukLuki111
@FarukLuki111 Ай бұрын
Did I miss something or will your caching never hit because you never enriched the items?
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
The caching is done by whatever calls the targeting context
@youssefwael8
@youssefwael8 Ай бұрын
Great Video as usual, Milan! One question: Does the FeatureManagement work with Minimal APIs, instead of MVC Attributes on Actions?
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
Yes, it works fine - just with a custom middleware filter
@mreshboboyev
@mreshboboyev Ай бұрын
This was great content. Can you make a video on integration with Azure and AWS in the future?
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
Sure
@playmaker1633
@playmaker1633 29 күн бұрын
Hello Milan, what do you think about the end of specflow ? Maybe it can be good to do a video about alternatives in some weeks/months
@MilanJovanovicTech
@MilanJovanovicTech 29 күн бұрын
I never used to, so I wasn't even aware of the news
@petrmalecik5661
@petrmalecik5661 Ай бұрын
Hello Milan, great video. One question though is it possible to have a flags inside my application database, so I can just modify them in runtime? Or the only way is using appsettings or azure? Thank you.
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
Azure App Configuration is the preferred approach here, for easier maintenance. You could use a database - but probably with a custom implementation
@vladans
@vladans 28 күн бұрын
You mentioned Swagger but missed the opportunity to show how this impacts Swagger and how it is represented in Swagger. Nevertheless, it's a good and informative video.
@MilanJovanovicTech
@MilanJovanovicTech 27 күн бұрын
I covered Swagger here: kzbin.info/www/bejne/fGrNZItsgNp8ptk
@vladans
@vladans 27 күн бұрын
@MilanJovanovicTech Great, I'll check that out, thanks for the quick reply.
@simonm97
@simonm97 Ай бұрын
Very nice :)
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
I'm glad you liked it!
@Haasje_X
@Haasje_X 27 күн бұрын
It seems the whole versioning package is outdated and not actively maintained at this point (it's a one man show as far as I can see). I tried to use it in a .net9 project but it did not play nice (might just be me though 🙂). Do you have any recommendations on what to use going forward if the Asp.Versioning packages are not an option?
@MilanJovanovicTech
@MilanJovanovicTech 27 күн бұрын
What makes you think it's outdated? The last release was ~10 months ago
@alexaka1
@alexaka1 Ай бұрын
Do I just setup the targeting context accessor interface in DI with the implementation? How does feature management know about my implementation?
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
You say WithTarget< TargetingContext > kzbin.info/www/bejne/gYjZhIyoiMmIapY
@RicusNortje
@RicusNortje Ай бұрын
Nice video. I assume this would be per running instance so does nto auto scale horizontally. We currently use Unleash for our feature flags. Is there an easy way to share the feature flag rollout details via a backplane like Redis?
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
Move the flags into shared config like Azure App Configuration
@Fenix-pf6mk
@Fenix-pf6mk Ай бұрын
Very goood
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
Thanks!
@saleem.shaikh
@saleem.shaikh Ай бұрын
When is the new course dropping?
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
~2-3 weeks 🤞
@ГеоргиПопов-я7к
@ГеоргиПопов-я7к Ай бұрын
Why you write records like classes? Shouldn't the records reduce the code ?
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
Yes and no
@leonardoolaechea8575
@leonardoolaechea8575 26 күн бұрын
spa proxy with angular and .net, plss
@MilanJovanovicTech
@MilanJovanovicTech 26 күн бұрын
That's a very different topic.
@user-dc9zo7ek5j
@user-dc9zo7ek5j Ай бұрын
The first package seems pointless, the second package however is amazing.
@MilanJovanovicTech
@MilanJovanovicTech Ай бұрын
Versioning is pointless? 😅
@VINAGHOST
@VINAGHOST Ай бұрын
@@MilanJovanovicTech some people just upgrade thing to next version and get rid of old ones, no need versioning :)
Your REST API Errors Are Wrong. Problem Details Will Fix This
16:14
Milan Jovanović
Рет қаралды 14 М.
Clean Input Validation With FluentValidation in .NET
19:56
Milan Jovanović
Рет қаралды 16 М.
СИНИЙ ИНЕЙ УЖЕ ВЫШЕЛ!❄️
01:01
DO$HIK
Рет қаралды 3,3 МЛН
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 16 МЛН
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
Feature Flags In .NET + How I Use Them For A/B Testing
14:33
Milan Jovanović
Рет қаралды 18 М.
The Right Way To Return API Errors in .NET
10:40
Nick Chapsas
Рет қаралды 74 М.
Prog101: Ep4 - Functions
14:09
The Jinn Guild
Рет қаралды 7
I Will Not Write Rust Again
7:19
ThePrimeTime
Рет қаралды 282 М.
.NET Project Setup From Scratch Using These 6 Best Practices
16:07
Milan Jovanović
Рет қаралды 33 М.
The Right Way To Build Async APIs in ASP.NET Core
20:12
Milan Jovanović
Рет қаралды 29 М.
The Fix For Your Database Performance Issues in .NET
9:12
Nick Chapsas
Рет қаралды 93 М.