Generando eventos de dominio para múltiples suscriptores

Me estoy refiriendo a mirar el patrón de Eventos de Dominio y he leído muchos recursos sobre el tema, pero no puedo encontrar una buena manera de implementar para nuestros requisitos. Básicamente tenemos una capa de Servicio / Dominio que envuelve la capa de repositorio para lecturas / escrituras con una implementación CQRS simplista. Tenemos una aplicación ASP.NET Mvc que consume esta capa de servicio / dominio. Toda la aplicación está vinculada con Autofac y lo que me gustaría que sucediera es para lo siguiente:

Cuando se crea una noticia al llamar, diga "Crear Noticias" en el registro de la capa de servicio, será necesario que se genere un evento para:

public void CreateNews(Domain.Entities.News.NewsBO news)
{
  ValidateBusinessObject(news);

  var entityNews = AutoMapper.Mapper.Map<Repositories.Entities.News.News>(news);
  NewsCommandRepository.Create(entityNews);

  _domainEventManager.Register<NewsCreatedDomainEvent>(x => x.News = news);
}

Todo esto está sucediendo en una transacción y no quiero elevar el evento hasta que se complete el proceso de guardado, por lo que, en nuestro método para guardar cambios, quiero hacer esto:

public void SaveChanges()
{
  _repoCommandManager.SaveChanges();

  _domainEventManager.RaiseEvents();
}

Luego, en nuestra aplicación ASP.NET Mvc, quiero tener una implementación de un IHandler que tenga este aspecto:

public class NewsCreatedDomainEventCacheHandler : IHandles<Project.Services.Domain.Events.News.NewsCreatedDomainEvent>
{ 
    public void Handle(Services.Domain.Events.News.NewsCreatedDomainEvent @event)
    {
      // In here we would update the cache or something else particular to the web layer
    }
}

No puedo averiguar cómo hacer para elevar este evento desde el método de guardar y llamar a la implementación en la aplicación Web.Mvc.

Cualquier sugerencia sera apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta