Implementing Routing Slip with MassTransit

This article introduces MassTransit.Courier, a new project that implements the routing slip pattern on top of MassTransit, a free, open-source, and lightweight message bus for the .NET platform. Introduction When sagas were originally conceived in MassTransit, they were inspired by … Continue reading 

Posted in masstransit | 3 Comments

IDisposable, Done Right

IDisposable is a standard interface in the .NET framework that facilitates the deterministic release of unmanaged resources. Since the Common Language Runtime (CLR) uses Garbage Collection (GC) to manage the lifecycle of objects created on the heap, it is not … Continue reading 

Posted in c# | 40 Comments

Separating Concerns – Part 1: Libraries

Introduction In large applications, particularly in enterprise applications, separation of concerns is critical to ease maintainability. Without proper separation of concerns, applications become too large and too complex, which in turn makes maintenance and enhancement extremely difficult. Separating application concerns … Continue reading 

Posted in Uncategorized | 5 Comments

Interview on .NET Rocks Episode 798 Published

Last weekend, the guys from .NET Rocks! interviewed me for the show, and the show is now available from the usual outlets (iTunes, etc.). You can read the summary on their web site, as well as listen to the show! … Continue reading 

Posted in .net | Leave a comment

Rebooting Topshelf for Version 3

When we created Topshelf, one of the prime directives was ease of use. It had to be easy for the developer to add a reference and create a service. To keep it easy, we had another prime directive: the developer … Continue reading 

Posted in .net, topshelf | 3 Comments

Benchmarque – Comparative Benchmarking for .NET

Last night, I announced that the first release of my benchmarking library Benchmarque was available on NuGet. This morning, I’d like to share with you what the library is, and how it to use it. What is Benchmarque? Benchmarque (pronounced … Continue reading 

Posted in .net, c# | 5 Comments

MassTransit v2.5.3 Now Supports the TPL

As I’ve started to use MassTransit with SignalR, one of the things that annoyed me was the hoops I had to jump through to get a nice asynchronous request from SignalR into MassTransit. There was a lot of plumbing since … Continue reading 

Posted in masstransit, signalR | 2 Comments

Received my 4th Visual C# MVP Award!

I’m happy to announce that I have been awarded the 2012 Microsoft® MVP award for my technical contributions to the Visual C# community over the past year. This is the fourth consecutive year that I have received the award, and I … Continue reading 

Posted in .net | 4 Comments

Odoyule Rules Engine for .NET

So I’ve been writing a rules engine for .NET for many years (on and off, but mostly off unfortunately). Lately, I picked it up again and yesterday published an early version on NuGet (OdoyuleRules). The implementation at this point is … Continue reading 

Posted in .net | 8 Comments

References on the Actor Programming Model

The actor programming model is a software development method that encourages the decomposition of applications into autonomous components which are self-contained and operate asynchronously and independently from one another. This model is well aligned with the nondeterministic nature of distributed … Continue reading 

Posted in Uncategorized | 3 Comments