internal CommandDispatcher( ILogFactory logFactory, string boundedContext, CommandInterceptorsQueue commandInterceptorsProcessor = null, long failedCommandRetryDelay = 60000) { _log = logFactory.CreateLog(this); _commandInterceptorsProcessor = commandInterceptorsProcessor ?? new CommandInterceptorsQueue(); _failedCommandRetryDelay = failedCommandRetryDelay; _boundedContext = boundedContext; var taskMethods = typeof(Task <CommandHandlingResult>).GetMethods(BindingFlags.Public | BindingFlags.Instance); var awaiterResultType = typeof(TaskAwaiter <CommandHandlingResult>); _getAwaiterInfo = taskMethods.First(m => m.Name == "GetAwaiter" && m.ReturnType == awaiterResultType); }
public CqrsEngine( ILog log, IDependencyResolver dependencyResolver, IMessagingEngine messagingEngine, IEndpointProvider endpointProvider, bool createMissingEndpoints, params IRegistration[] registrations) { _log = log; _createMissingEndpoints = createMissingEndpoints; DependencyResolver = dependencyResolver; EndpointResolver = new DefaultEndpointResolver(); MessagingEngine = messagingEngine; _endpointProvider = endpointProvider; Contexts = new List <Context>(); DefaultRouteMap = new RouteMap("default"); CommandInterceptorsQueue = new CommandInterceptorsQueue(); EventInterceptorsQueue = new EventInterceptorsQueue(); InitRegistrations(registrations); }