Carl shows you the benefits of keeping application data outside components and pages, how to do cross-component change notifications, and how to persist that AppState to localstorage.
Don't get me wrong-- I'm happy Microsoft is putting up videos like this, but I have to ask why they are so time constrained and rushed? You can hear Carl make at least one reference to the time as he is rushed through these elegantly prepared slides and demos. I'd rather this be a two hour video, where Carl has the time he needs to step through this and can exhaust the relevant questions from the community. Even better would be building each of these examples from a starting point of the default template, so folks can follow along and learn. So I'm glad to come across this video, but please consider allotting much more time to community demonstrators in the future-- it will benefit the entire community!
@@csharpfritz Appreciate the reply, big fan. Was researching the app state topic and approaches at the time, so was craving as much detail as possible. Thanks for all you do!
I found out the hard way that it is quite easy to create multiple instances of a Singleton service. I hope this will be fixed some day. Just mixing constructor and attribute injection should not create multiple singletons.
If I want to implement app state with DI (AddScoped) and I do not need to get notifications on changes of the app state, can I get away without implementing IDisposable?
Here are the links to source code from the video. blazorroadshow.azurewebsites.net/blazortrainfiles/PersistingAppState.zip blazorroadshow.azurewebsites.net/blazortrainfiles/ApplicationState.zip
I saw you have to enable Text Editor toolbar. After Visual Studio 16.8 upgrade the toolbar setup is not saved for non administrator user. Is it a VS bug?
there is no such thing as "secure" storage once data hits the browser.. .the same functions you use to decrypt a message on the frontend(ie: the browser) I can invoke as well. you are essentially delivering to your clients both the key and lock to your secrets.
to reiterate... the "ciphered" data HAS to be sent to the backend for decryption... there is nothing special about this process.... it's two methods... you can use a ceaser cypher for all it matters
@@metaltyphoon more simply put.. once you out your encoded data on a clients machine.. it's no longer trusted. I can decrypt most messages using a simply dictionary available on most Macs