I'm Martin Cook. I've been bossing computers around, professionally, since the late 1980's. When I'm not coding, or writing about coding, I like watching hockey, playing guitar, running, drawing, painting, and sculpting.
I recently made a change to the code that locates and loads repository and strategy types, inside the CG.Business library. The new changes accomplish three things: They fix a problem…
Last time I covered the data layer for our mime-types nanoservice. That article completes my presentation of a working .NET 5.0 / Blazor based nanoservice. The only thing I have…
Last time I covered the abstractions and data logic for our nanoservice. This time I'll cover the data layer, including the database, the repositories, and any logic required to pull…
Last time I presented a quick overview of the UI portion of a nanoservice for converting from file extensions to mime types. This time I'll focus on the business logic…
Last time I laid out the justification and overall architecture for a REST based nanoservice, for converting between file extensions and mime types. This time I'll go into more detail…
Since microservices have gotten so much buzz in the last few years, I suppose it was probably only a matter of time before someone got the big idea to make…
Here is a hosting extension that I use often. It is an extension method that allows me to write a super quick console application like this: class Program { static…
Sometimes I need to prevent multiple instances of an application from running at the same time. Before .NET came along, I just dropped the code for that into the application…
I've migrated quite a bit of my .NET code to non-Windows platforms, this past year. As I've done so, I've re-discovered the fact that DPAPI, which is what I've traditionally…
Since I write so many NUGET packages, I also tend to write more than a few extension methods containing startup / construction logic. Each library typically has at least two…