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

How to Self Host ASP.NET Web Api

Over the past several months, I’ve talked to a few people that were completely unaware that you could self host ASP.NET Web Api application without the need for IIS. Anyone who has worked with IIS knows that sometimes it can feel a bit heavy.  Especially if you not using any other features other than serving static content or executing your ASP.NET Web Api. There are a couple important aspects to cover first which are what makes self hosting possible. If you have any questions, please follow me on Twitter. OWIN OWIN defines a standard interface between .NET web servers and web applications. The… Read More »How to Self Host ASP.NET Web Api

Event Stream as a Message Queue

I was recently having a discussion around a system being built using Microsoft Azure.  Some concepts being discussed for this system where CQRS, Event Sourcing and Message Queue. The diagram below is fairly typical when discussing CQRS and Event Sourcing. One of the first things that stood out to me was the use of the Message Queue and Azure Service Bus. For this blog post, I want to focus on the Service bus, which is used for publish-subscribe pattern.  The domain will emit events that are stored to the event stream and then will be published to the Service Bus.  Subscribers, such as… Read More »Event Stream as a Message Queue

ConfigR: Look Mom, No XML

I stumbled upon ConfigR a several months ago  on twitter from Glenn Block.  It uses ScriptCS (and Roslyn) and was developed by Adam Ralph. I finally got around to take it for a test drive on a side project.  It’s really a simple tool that I’ve been waiting for. Why ConfigR? The purpose of ConfigR is pretty straight forward.  It allows you to write C# code to define configuration settings which you would normally place in a the appSettings section of a web.config/app.config. If you have used the appSettings at all, you probably wished they could be typed instead of always having to… Read More »ConfigR: Look Mom, No XML