title: Queuing domain events in C#
body: <p>This article describes a great pattern called 'Domain Events': <a href="http://www.udidahan.com/2009/06/14/domain-events-salvation/" rel="nofollow">http://www.udidahan.com/2009/06/14/domain-events-salvation/</a></p>
  
  <p>One major flaw with this pattern however is highlighted in comment 27 by user Andy: If a transaction fails, we don't want our domain events to execute. Therefore, we need to create some sort of queuing mechanism.</p>
  
  <p>Unfortunately this sounds like it is going to massively complicate a technique that was supposed to simplify the system.</p>
  
  <p>Does anyone know of some good examples or discussions of queuing domain events, particular a solution that integrates well with NHibernate?</p>