Recent Posts

Ingredients for well-designed OWIN middleware components - Part 4

1 minute read

In my last post I talked about unit testing your OWIN pipeline and briefly mentioned that you shouldn't do any heavy lifting from inside your UseWhatever method. Examples of that include starting background tasks or connecting to other services (through that HttpMessageHandler). If you're lucky, ...

July 22, 2015

Ingredients for well-designed OWIN middleware components - Part 3

2 minute read

In my last post, I talked about decoupling the construction of the OWIN pipeline from the definition of the OWIN middleware component. In this post, I’m going to talk about the next ingredient, the testing story.Ingredient 4: Testing your entire HTTP pipelineIn most projects that are building ASP...

July 21, 2015

Ingredients for well-designed OWIN middleware components - Part 2

1 minute read

In my last post, I talked about naming conventions and reducing the number of public dependencies, the first two ingredients of a recipe for well-designed OWIN middleware components. In this post, I'm going to talk about separating the OWIN pipeline construction from the middleware defi...

July 20, 2015

Ingredients for well-designed OWIN middleware components - Part 1

2 minute read

My main focus the last couple of months has been on building components that offer HTTP-based services. This whole component-oriented focus is something we've been focusing on the last year or so because we wanted to actively trying move away from building monolithic systems. Tools like OWIN, NuG...

July 16, 2015

Why you should abandon TFS and adopt Git

4 minute read

Almost every time I do some kind of talk somewhere, people ask me for advice on how to convince their management that they should drop Microsoft Team Foundation Server's source control system and move over to Git. In this post, I'll be talking about the source control system only. Both Visual Stu...

June 26, 2015

False positives and semantic versioning

3 minute read

As part of stabilizing an upcoming release, I always dog food a beta package against the 12000 unit tests in one of our bigger projects. In the early days, that would surface all kinds of edge cases I never thought of. In every single case, the first thing I would do is to add a new unit test to ...

June 24, 2015