Long Running Tasks and Threads

December 13, 2012


There appears to be some confusion and/or uncertaintly on whether a TPL task with TaskCreationOption.LongRunning always will run on it’s own thread or occasionally execute on either the caller’s thread or a ThreadPool thread. I suspect a lot of it comes from the choice of language in the MSDN documentation: “LongRunning Specifies that a task […]

Tagged: ,
Posted in: .NET

Care and Worry about State Transitions

July 16, 2012


Ever had to try to explain why a certain part of a system is in a particular state and not been able to say what, why or when the data change happened? I have. Too many times. And it is all my own fault. I have contributed to the ‘update culture’ of software development by […]

Posted in: Patterns

The Query Object Pattern.

May 2, 2012


Intro It is not uncommon to see large, complicated queries unceremoniously plonked in repositories and even in controllers, services, whatever you choose to call your favourite abstraction. Even when concentrated inside repositories these can at times be hard to test, find and maintain. In this blog I aim to make another push for a pattern […]

Tagged: , , ,
Posted in: Patterns

Injecting NServiceBus into ASP.NET WebApi

March 16, 2012


This is just an update of David Boike’s excellent blog post on injecting NServiceBus into ASP.NET MVC 3. I take no credit, but simply followed David’s instructions and made them work for WebApi because I needed it myself. I would recommend you read his blog first then use the following code samples for injecting NServiceBus […]

Tagged: ,
Posted in: NServiceBus, WebApi

CQRS is a philosophy

March 6, 2012


Much has been said about CQRS in the last few months. Leaders in the field have clarified their positions, not everyone liked the conclusion they had come to, poems have been penned about what CQRS actually is, frameworks and libraries have been developed and guidelines are being written. Etc. etc… For me, CQRS is a […]

Tagged: ,
Posted in: Patterns

Tasks are not first class story board citizens.

March 1, 2012


It should be quite clear from the title that this is case (hint: it’s a story board) but in this blog I aim to argue for what I consider the correct place of tasks in the agile development process. This is an opinionated blog. You don’t have to agree. 🙂 In the last two places […]

Posted in: Agile

Simplifying the visitor pattern with the dynamic keyword

February 29, 2012


The visitor pattern can be a very useful tool to have to hand when wanting to apply type specific processing to a collection or graph of varying subtypes. I suspect anyone that works with event sourcing or event streams of any kind (logging etc) would most likely have implemented the visitor pattern at some point […]

Tagged: , ,
Posted in: Patterns