Skip to content

Sponsor: Using RabbitMQ or Azure Service Bus in your .NET systems? Well, you could just use their SDKs and roll your own serialization, routing, outbox, retries, and telemetry. I mean, seriously, how hard could it be?

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Follow @CodeOpinion

LazyCache: Caching Service for ObjectCache

I recently blogged about in-memory caching while I was looking for a library to sit on top of .NET ObjectCache or MemoryCache. Alastair Crabtree commented on my post, suggesting I take a look at this LazyCache library. So I figured I would take my existing demo application and port it to using LazyCache. As with most of my posts, all the following code is available as a demo application on GitHub. This demo console app is going to show currency exchange rate between USD and CAD for a given day. LazyCache Lazy cache is a simple in-memory caching service. It has a developer friendly generics based API,… Read More »LazyCache: Caching Service for ObjectCache

In-Memory Caching with Foundatio

I was recently looking for a simple in-memory caching library that sat on top of ConcurrentDictionary.  I didn’t have many requirements other than it needing to be thread safe and and had some expiry policy built-in.  I’ve used .NET MemoryCache before, but figured there likely had to be something simple else already built. My search led me to Foundatio: Pluggable foundation blocks for building distributed apps. Turns out Foundatio was created for building Exceptionless.  I’ve blogged about Exceptionless before, which is a real-time error and logging .NET and Javascript. Basics Caching in it’s various forms (in-memory, distributed) is simply about storing… Read More »In-Memory Caching with Foundatio

Octopus Deploy in Your Cake (C# Make)

I’ve looked at using Cake (C# Make) for build automation in C#.  The basics were to compile a solution/project using MSBuild and then run our automated tests with xUnit. Another common set of tasks that are performed in a build pipeline are: Create a NuGet package Push the NuGet package to Octopus Deploy Create an Octopus Deploy Release NuGet First thing we need to do is to create a NuGet package.  You have a couple options here, one is to create a nuspec and invoke the Nuget.exe to create your package.  I’m going to choose an alternative which is to… Read More »Octopus Deploy in Your Cake (C# Make)