The Admin Panel of my blog is a Mini-SPA and in this post I explain its basic architecture and development process.
IMemoryCache has its issues, notably it has the following method which is not thread safe. LazyCache is designed to address this very problem.
For caching previously I used IDistributedCache, but I have since switched to IMemoryCache. I have also abstracted this implementation detail away behind a new ICacheProvider interface.
There two types of Blazor apps the Blazor Server App and Blazor WebAssembly App, yet there are several different ways to launch a Blazor Wasm app. In this post I want to examine a few Blazor project setups and see how each works.
This post shows you how to develop with efficiency to let the hosting webapp auto recompile upon saving changes to your Razor Class Library in .NET Core 3.0.
Today is the first day of .NET Conf 2019, a slew of videos are coming out to introduce new and exciting technologies in the world of .NET. I watched some of them and I'm really excited about the improvements in Asp.net Core and C#. Here are a couple of interesting things I learned today.
HTTPS has become a basic requirement for a website, I want to show I added a free SSL certificate from Let's Encrypt to my website running on Azure App Service.
If you develop with ASP.NET Core 2.0 or later and you are using TempData, you may run into a 400 error saying your request headers is too long. I've recently encountered this while writing a blog post, it happens when I try to preview the post.
ASP.NET Core 2.2 recently came out and the one thing that caught my attention was the new IIS InProcess Hosting Model. I saw the demo during this week's Community Standup and couldn't help but agree that this could be a big help to development efficiency. As web developers we all do build solution and refresh browsers a lot and any improvement to shorten the time between making a change and seeing that change is welcoming.
Thus far I have a single service in Fan.Blog that handles everything, it's called BlogService. As my code grows this becomes less maintainable, with each new feature I want to add to the blog I have to pile on top of this class, not to mention it's less than ideal if there are others working on the same project and everyone modifies one file. So I wanted to break this giant service class into smaller more focused services.