Exemple #1
0
 private async Task TryDispatch(ProjectionDescriptor descriptor, MessageEnvelope envelope, ProjectingContext context)
 {
     try
     {
         var instance = ProjectionFactory.CreateProjectionInstance(descriptor.ProjectionType);
         if (instance == null)
         {
             throw new NullReferenceException($"Projection instance {descriptor.ProjectionType.FullName} is null.");
         }
         await descriptor.Invoke(instance, envelope.Message, envelope.Meta, context);
     }
     catch (Exception e)
     {
         throw new ProjectingException(descriptor, envelope, context, e);
     }
 }