Skip to content

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

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)